我尝试过几天来解决javascript中的输入数字表格验证问题。逻辑用户不允许输入重复的相同数字,例如" 00000000000"," 11111111111"。如果他们在文本字段中输入数字,我必须显示错误消息,
示例代码,
foreign key
答案 0 :(得分:2)
您可以使用以下正则表达式^(\d)\1+$
:
^
在字符串(...)
第一捕获组\d
匹配一个数字(等于[0-9])\1
匹配与第一个捕获组+
量词,在一次和无限次之间匹配,尽可能多次,根据需要回馈$
断言字符串末尾的位置,或者在字符串末尾的行终止符之前(如果有的话)。参见以下示例:
function test(par){
if(par.match(/^(\d)\1+$/g)){
console.log(par + " is not valid");
}else{
console.log(par + " is valid");
}
}
test("11111111");
test("11131111");
test("111a1111");
test("010101010");
test("9999");
我希望它可以帮到你。再见
答案 1 :(得分:0)
你可以简单地编写像
这样的代码$(document).on('input', '#phNo', function() {
var mobNumber = $(this).val();
var res = mobNumber/(mobNumber/10);
if(res == 111111111) {
alert('Please enter valid phone number');
}
});
这适用于所有数字,您必须检查输入的最大和最小长度。
答案 2 :(得分:0)
试试这个:
var checkPhone = function() {
phone_number = $('#phone').val();
res = (/^(.)\1+$/.test(phone_number) ? '1' : '0');
if(res == '1'){
return 'bad phone number';
} else {
return 'good phone number';
}
}
在此测试:JSFIDDLE
答案 3 :(得分:0)
你可以这样试试,
var phone = "11111111";
var phonecount = phone.length;
var countLength = 0;
for (var i in phone)
{
if(phone.substring(0,1)==phone[i])
{
countLength = countLength + 1;
}
}
if (countLength == phonecount)
alert("Please enter valid phone number");