我写了一个正则表达式
^([+/-]?([0-9] +(。)?)|([0-9] *。[0-9] +))$
我通过两种方式创建它
var _regex = "^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$";
var _regexFloat = new RegExp(_regex);
和
var _regexFloat = /^([+/-]?([0-9]+(\.)?)|([0-9]*\.[0-9]+))$/ ;
测试数据为“1a”和“a1”。
在第二种方式,它工作正常。
但在第一种方式中,它返回true。
如果我有什么问题,有人可以建议我。
非常感谢。
环境:
Windows Server 2003
IE 6
答案 0 :(得分:5)
我相信你需要逃避字符串中的反斜杠(在第一个版本中)。
试试这个:
var _regex = "^([+/-]?([0-9]+(\\.)?)|([0-9]*\\.[0-9]+))$";
var _regexFloat = new RegExp(_regex);