需求如下:有一個文本輸入框,只能輸入數字,數字最大4位保留2位小數並且小數可有可無,最大值不能超過100。
實現如下:
var pattern = /^(\d{1,2}(.\d{1,2})?)|100$/;
alert(pattern.test("10.00"));
返回的是false;
alert(pattern.test("100"));
返回的是true;
有時候更會出現都返回true的現象,感覺很混亂。
請教一下大家,給點意建。
你應該把.轉義,像這樣: /^(\d{1,2}(\.\d{1,2})?)|100$/
因為對於100來說,.會匹配0,所以100會匹配成功。
至於10.00,我實驗是可以匹配成功的。