次の正規表現があります。^-?([0-9]{0,3}$|[0-9]{0,2}\.?[0-9]{0,1}$)
4444 のような 4 桁の数字は許可されません。ここで試してみると、式は正常に機能しますが、javascript では、コードが期待どおりに機能しません。4桁の数字を許可しています。他のすべての検証は正常に機能します。
これが私のコードです:
reg0str = "^-?([0-9]{0,3}$|[0-9]{0,2}\.?[0-9]{0,1}$)";
var reg0 = new RegExp(reg0Str);
if (reg0.test(temp)) return true;
機能を説明するための更新:
3桁のみを許可したい。したがって、10 進数の後に 1 桁、10 進数の前に 2 桁のみを許可するか、10 進数の前に最大 3 桁を許可し、10 進数の後には何も許可しないかのいずれかです。
だから私の最初の部分:
[0-9]{0,3}$
これは最大3桁で数字のみを許可するはずだと思います。
次の部分: [0-9]{0,2}\.?[0-9]{0,1}$
小数点の前に最大 2 桁、小数点の後に最大 1 桁を許可する必要があります。