この正規表現に負の小数を含めるにはどうすればいいですか? 質問する

この正規表現に負の小数を含めるにはどうすればいいですか? 質問する

この正規表現で負の数も一致させるにはどうすればよいですか? この正規表現は正の値では正常に機能しますが、負の値 (例: -10、-125.5 など) も許可するようにしたいと思います。

^[0-9]\d*(\.\d+)?$

ありがとう

ベストアンサー1

先頭にオプションのハイフンを追加する必要があります。-?(?数量詞意味1回または0回の出現):

^-?[0-9]\d*(\.\d+)?$

私は以下の値を使用して Rubular で検証しました:

10.00
-10.00

そして両方とも予想通り一致しました。

let r = new RegExp(/^-?[0-9]\d*(\.\d+)?$/);

//true
console.log(r.test('10'));
console.log(r.test('10.0'));
console.log(r.test('-10'));
console.log(r.test('-10.0'));
//false
console.log(r.test('--10'));
console.log(r.test('10-'));
console.log(r.test('1-0'));
console.log(r.test('10.-'));
console.log(r.test('10..0'));
console.log(r.test('10.0.1'));

おすすめ記事