用于验证小数的Regexp不起作用
Regexp for validating decimals not working
我有一个表单,它有一个采用十进制值的字段。这个小数的要求是其形式为##。##小数点两边各有两个数字。
我在网上找到了一个regex,它本应验证小数,但却将任何输入视为无效。这是我的代码:
function validateDecimal(number)
{
eval("var stringvar=/^[-+]?([0-9]*''.[0-9]{0,2})|([0-9]+)$/");
return stringvar.test(number);
}
电话。。。
var numStr = document.getElementById('Amount');
if (!validateDecimal(numStr)) {
alert("Please enter a valid dollar amount in the form ##.##");
return false;
}
我知道这个正则表达式并不是我想要的,但我似乎不明白为什么它认为所有输入都是无效的。有人知道我做错了什么吗?
第一个问题是您忘记获取输入的实际值:
document.getElementById('Amount').value
第二个问题是eval
,你在这里不需要它,你可以这样写:
var stringvar = /^[-+]?([0-9]*'.[0-9]{0,2})|([0-9]+)$/;
第三,如果您的数字必须始终为XX.XX
:,我建议使用正则表达式
/^[+-]?'d'd'.'d'd$/
首先,您不应该像那样使用eval,它会给客户端带来不必要的压力,只需执行即可
var regex = /^[-+]?([0-9]*''.[0-9]{0,2})|([0-9]+)$/;
return regex.test(number);
相反。
并且您需要在getElementById('Amount');
之后使用.value
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- Regexp奇怪地不起作用
- jQuery for Regexp 不起作用
- Javascript regexp验证不起作用
- RegExp字符串match不'不起作用
- 用于验证小数的Regexp不起作用
- JavaScript regexp全局选项不起作用(正如我所期望的)
- RegExp替换函数中的反向引用不起作用
- RegExp对象查找和替换不起作用
- RegExp javascript替换所有不起作用