javascriptで、正負の整数、小数をチェックする

正負の整数、小数をチェックする正規表現ではまったのでメモ。

許容したいのは、1, -10, 0.5, -1.2

^-?[0-9]+(¥.[0-9]+)?$

と書いていたが、小数点を入れると一致しなくなる
¥. を . にしてみると任意の一文字となり、0a0等も許容してしまう。
上記で動かない理由を探していたけどわからないので、以下に変更

^-?[0-9]+([¥.]{1}[0-9]+)?$

これで意図した通りに動きました