Jquery验证正则表达式
嗨,我现在正在处理表单验证。如何制作数字、逗号和小数的正则表达式?或者简而言之,就是文本框中的货币价值 例如12100.10Jquery验证正则表达式,jquery,regex,Jquery,Regex,嗨,我现在正在处理表单验证。如何制作数字、逗号和小数的正则表达式?或者简而言之,就是文本框中的货币价值 例如12100.10 jQuery(function($) { var validation_holder; $("form#register_form input[name='submit']").click(function() { var validation_holder = 0; var cost = $("form
jQuery(function($) {
var validation_holder;
$("form#register_form input[name='submit']").click(function() {
var validation_holder = 0;
var cost = $("form#register_form input[name='n_unit_cost']").val();
var cost_regex = /^[0-9]+$/; // reg ex cost check
if(cost == "") {
$("span.val_cost").html("This field is required.").addClass('validate');
validation_holder = 1;
} else {
if(!cost_regex.test(cost)){ // if invalid phone
$("span.val_cost").html("Integer Only is Allowed!").addClass('validate');
validation_holder = 1;
} else {
$("span.val_cost").html("");
}
}
if(validation_holder == 1) { // if have a field is blank, return false
$("p.validate_msg").slideDown("fast");
return false;
} validation_holder = 0; // else return true
/* validation end */
}); // click end
}); // jQuery End
比如:
^\d{1,3}(?:,?\d{3})*\.\d\d$
这里有一个正则表达式可以满足您的要求
var cost_regex = ^\d+(,\d{3})*(\.\d+)?$
这将匹配带或不带逗号的数字,带或不带数字的数字
说明:\d+
将匹配一个或多个数字。这将匹配不带逗号的数字。然后是(,\d{3})*
部分,该部分允许用户每三位使用逗号,但如果数字中存在愚蠢的逗号,则不匹配(例如,1,,,2345
不匹配!)。然后,对于小数部分,(\。\d+)?$
将匹配一个点和任意数量的数字。?
使该部分在正则表达式中成为可选部分
这对于编写和测试正则表达式非常方便,我邀请您在下次想要验证模式时尝试一下 @theCoder我试过了,但不管用。我曾经试过一次,遇到了一些困难,然后我使用了numeric.js,它非常支持各种货币和货币locales@surname下次尝试使用regex101站点来执行您的正则表达式时,它使用起来非常简单,并且很好地使用了donevar cost_regex=/^\d{1,3}(?:,?\d{3})*\。\d\d$/;我试着这样做,但没有成功working@surname:哪种方式不起作用?你能举一些例子吗?@姓氏:对,但你在代码中尝试过我建议的正则表达式吗?哪些值不匹配?只允许显示“整数”警告消息。@姓:在替换正则表达式之前,它是正确的消息。
var cost_regex=/^[0-9]+$/代码>与我的匹配。这将匹配1#2
或123A456789123