我需要regular expression
以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 (!numericReg.test(inputVal)) {
$('#myModal #transfer_charge_model_mob_lbl').text('please enter number');
$(this).val('');
}
else {
$('#myModal #transfer_charge_model_mob_lbl').text('');
}
});
答案 0 :(得分:2)
您可以在没有正则表达式的情况下执行此操作。
var x = $(this).val();
var y = x * 1;
if(!isNaN(y))
if (x.charAt(0) === '0' && x.length == 11)
//do whatever
答案 1 :(得分:2)
你的正则表达式过于复杂:
^0\d{10}$
就足够了。
答案 2 :(得分:1)
将我的评论转换为答案,看看它有多受欢迎
注意on(“change”)而不是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,您可以尝试
$(function() {
$('#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(''); // Very harsh if a typo
})
.on("keyup",function(e) {
var val = $(this).val();
var reg = /[^0-9]/g;
if (val.match(reg)) {
$(this).val(val.replace(reg,""));
}
});
});
答案 3 :(得分:0)
var reg = /^0\d{10}$/;
console.log(reg.test("01111111111"));