如何使用JQuery进行数字验证?
如何使用JQuery进行数值验证。我必须使用JQuery验证我的价格字段。任何人都知道,请与我分享您的知识:(使用jquery验证插件如何使用JQuery进行数字验证?,jquery,validation,Jquery,Validation,如何使用JQuery进行数值验证。我必须使用JQuery验证我的价格字段。任何人都知道,请与我分享您的知识:(使用jquery验证插件 它包含所有验证,如,require,format,size,range,value如果您要查看表单验证,可以查看验证插件: 但是,如果您只需要一些示例代码,可以简单如下: $(function() { $('ref-to-input').blur(function() { if($(this).val().match(/[^\d]/)) {
它包含所有验证,如,require,format,size,range,value如果您要查看表单验证,可以查看验证插件: 但是,如果您只需要一些示例代码,可以简单如下:
$(function() {
$('ref-to-input').blur(function() {
if($(this).val().match(/[^\d]/)) {
// invalid chars detected
}
});
});
您还可以筛选输入,使其仅允许使用数字字符:
$(function() {
$('ref-to-input').keyup(function() {
$(this).val($(this).val().replace(/[^\d]/, ''));
});
});
编辑:不要忘记始终使用服务器端检查这对表单验证也有好处: 有一个例子:
只需在Jquery中应用此方法,就可以验证文本框是否只接受数字
function IsNumberKeyWithoutDecimal(element) {
var value = $(element).val();
var regExp = "^\\d+$";
return value.match(regExp);
}
请参阅工作演示+1了解
不要忘记始终使用服务器端检查
…因为客户端检查总是很容易绕过..:@Reigel+1了解客户端检查很容易绕过。这是非常简单的,所以总是在服务器端进行检查。使用正则表达式不是更容易(更简短)吗?嗯,不太。。。该正则表达式不会捕捉例如“3.1”或“3.145”。但不管怎样,你的答案只是一个丑陋的方式去使用一个简单的正则表达式来检查数字输入。是的,你是对的正则表达式应该是这样的/\d[\d,]*/
,但我仍然认为这取决于OP将要做什么,因为有很多价格格式,你需要考虑很多情况!
if ( IsNumeric(my_number) )
//do some here...
function IsNumberKeyWithoutDecimal(element) {
var value = $(element).val();
var regExp = "^\\d+$";
return value.match(regExp);
}