2

正規表現-9.99から0に非常に近いと感じています。

私は持っています

/^[-][0-9]?(\.[0-9][0-9]?)?$/ // does not get the 0 :/

| 0を追加すると、2030などが許可されます。

4

2 に答える 2

3

とを使用|0して正しく作業するには、括弧が必要です。また、リテラルと同じであり、 :)の省略形です。^$[-]-\d[0-9]

/^(-\d?(\.\d\d?)?|0)$/

Javascriptを使用している場合、文字列を数値に変換してそこから移動する方がはるかに簡単(かつ高速)です(-3.21312同様の数値を許可できると仮定すると、そうでない場合は余分な数字を取り除くこともできます):

var str = "-8.57";
if(-10 < +str && +str <= 0){
    // Condition passed
}
于 2012-06-15T19:15:55.773 に答える
1

あなたが何を求めているのか正確にはわかりませんが、あなたは数字を扱っているので、なぜあなたはそうしませんか(あなたの数字はどこにxありますか):

if(x <= 0 && x >= -9.99)
   console.log("OK");
于 2012-06-15T19:16:23.417 に答える