如何避免在输入文本格式中输入重复的数字?

时间:2017-03-31 09:03:27

标签: javascript jquery html css

我尝试过几天来解决javascript中的输入数字表格验证问题。逻辑用户不允许输入重复的相同数字,例如" 00000000000"," 11111111111"。如果他们在文本字段中输入数字,我必须显示错误消息,

示例代码,

foreign key

4 个答案:

答案 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");