function validateDecimal(number,maxDigits) { eval("var stringvar=/^[-+]?([0-9]*\.[0-9]{0,"+maxDigits+"})|([0-9]+)$/"); return stringvar.test(number); }
我写了上面的函数来验证十进制数。变量'maxDigits'用于指定小数部分的数字位数和'数字'作为要验证的值。但是当我试着用一个数字值后跟一个例如24y的字符时,它返回'true'。任何人都可以帮我弄清楚我的错误。验证十进制数的正则表达式
你并不需要使用'这里eval'时,[正则表达式(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp)构造函数可以将字符串作为参数。 – 2012-08-10 06:15:00
你的主播没有对齐,你想要'^ a $ |^b $'或'^(a | b)$'不要'^ a | b $' - 除非你特别想在数字后面允许任何内容一个小数点,或在没有数字之前。 – tripleee 2012-08-10 06:26:25