我有这样一个正则表达式:

var pat = new RegExp("[0-9]{1}\.[0-9]{1}");


我使用jQuery这样从文本框中获取数字:

var theValue = $(item).val();


我一直在输入数字,并用此行测试正则表达式:

alert(pat.test(theValue));


如果输入数字.111,则表示通过。情况并非如此,因为第一个数字必须是0-9,后跟一个句点,然后是另一个数字0-9。我看不到我在做什么错。

最佳答案

要在字符串中使用,需要转义\以便出现反斜杠字符。

var pat = new RegExp("[0-9]{1}\\.[0-9]{1}");


一个更简洁,也许更可靠的形式是:

/[0-9]\.[0-9]/


假设模式应该匹配一个数字,然后匹配一个句点,再匹配另一个数字。

10-04 10:58