Javascript 使用jQuery和正则表达式进行验证
对于以0开头的数字,我需要Javascript 使用jQuery和正则表达式进行验证,javascript,jquery,regex,Javascript,Jquery,Regex,对于以0开头的数字,我需要正则表达式,该数字的长度为11 我发现这个正则表达式适用于数字,但它不适用于长度和0 $('#myModal #transfer_charge_model_mob').keyup(function () { var inputVal = $(this).val(); var numericReg = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/; if (!numericR
正则表达式
,该数字的长度为11
我发现这个正则表达式适用于数字,但它不适用于长度和0
$('#myModal #transfer_charge_model_mob').keyup(function () {
var inputVal = $(this).val();
var numericReg = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/;
if (!numericReg.test(inputVal)) {
$('#myModal #transfer_charge_model_mob_lbl').text('please enter number');
$(this).val('');
}
else {
$('#myModal #transfer_charge_model_mob_lbl').text('');
}
});
您可以在没有正则表达式的情况下执行此操作
var x = $(this).val();
var y = x * 1;
if(!isNaN(y))
if (x.charAt(0) === '0' && x.length == 11)
//do whatever
您可以在没有正则表达式的情况下执行此操作
var x = $(this).val();
var y = x * 1;
if(!isNaN(y))
if (x.charAt(0) === '0' && x.length == 11)
//do whatever
您已将正则表达式过度复杂化:
^0\d{10}$
就足够了。您已经将正则表达式过度复杂化了:
^0\d{10}$
就足够了。看看我的评论有多受欢迎,把它转换成答案 请注意“打开”(“更改”)而不是按键
$('#transfer_charge_model_mob').on("change",function () {
var inputVal = $(this).val();
var txt = /^0\d{10}$/.test(inputVal)?"":'please enter number';
$('#transfer_charge_model_mob_lbl').text(txt);
if (txt) $(this).val('');
});
对于Keyup,您可以尝试
将我的评论转换为答案,看看它有多受欢迎 请注意“打开”(“更改”)而不是按键
$('#transfer_charge_model_mob').on("change",function () {
var inputVal = $(this).val();
var txt = /^0\d{10}$/.test(inputVal)?"":'please enter number';
$('#transfer_charge_model_mob_lbl').text(txt);
if (txt) $(this).val('');
});
对于Keyup,您可以尝试
/^0\d{10}$/将是我的第一次尝试,但我现在看到您在keyup上使用。我的会用在零钱上或者blur@mplungjan这将是最好的办法。因为对于每个keyup,函数都将被执行。@mplungjan您的评论回答了这个问题:),所以请回答这个问题。/^0\d{10}$/将是我的第一次尝试,但我现在看到您在keyup上使用了。我的会用在零钱上或者blur@mplungjan这将是最好的办法。因为对于每个键控,函数都将被执行。@mplungjan您的注释回答了这个问题:),所以请将此作为答案。y=x*1和isNaN()检查它是否是一个数字。字符串相乘将创建一个NaN,“正在键入”部分由keyUp处理,而z.length()则不是。我相信它是z.Length实际上你是对的,它去掉了前导零。在最后一位中必须使用x而不是z-固定y=x*1和isNaN()检查它是否是一个数字。字符串相乘将创建一个NaN,“正在键入”部分由keyUp处理,而z.length()则不是。我相信它是z.Length实际上你是对的,它去掉了前导零。在最后一点中必须使用x而不是z-修正很好的建议-与我的评论相同抱歉-我写这篇文章时没有注意到你的评论!很好的建议-和我的评论一样抱歉-我写这篇文章时没有注意到你的评论!很好的建议-与我的相同comment@mplungjan事实上我很抱歉。当我看到这个问题时,我正在尝试JSFIDLE。一旦我得到它,没有加载您的评论,我张贴作为答案。后来我看到了你的评论并回复了。@mplungjan谢谢!很高兴看到你的答案:)。很好的建议-与我的相同comment@mplungjan事实上我很抱歉。当我看到这个问题时,我正在尝试JSFIDLE。一旦我得到它,没有加载您的评论,我张贴作为答案。后来我看到了你的评论并回复了。@mplungjan谢谢!很高兴看到你的答案:)。我喜欢你的.on(“keyup”),限制输入字母。我喜欢你的.on(“keyup”),限制输入字母。