[英]Jquery validation regex
嗨,我现在正在使用表单验证。 如何制作数字,逗号和小数的正则表达式? 或简而言之,是文本框中的货币值。
例如12,100.10
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+)?$
将匹配一个点和任意数量的数字。 ?
使此部分在正则表达式中为可选。
这个工具非常方便编写和测试正则表达式,我邀请您下次尝试验证模式时尝试一下!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.