【问题标题】:Jquery / Regex ValidationJquery / 正则表达式验证
【发布时间】:2013-11-20 14:48:31
【问题描述】:

我有以下输入。

<input type="tel"  id="Phone maxlength="10"/>

我正在尝试使用 Jquery amd 正则表达式来验证数字的格式。

jquery/regex如下。

  $(function () {
    var reg = /(([2-9]{1})([0-9]{2})([0-9]{3})([0-9]{4}))$/
    var Input = $("input#phone").val();
    if ($(z).val() == (reg)) {
    alert("Valid")
    }
  });  

这对我不起作用,有人知道为什么吗?或者有更好的方法吗?]

【问题讨论】:

  • 除了@falsetru 指出的更正之外,您的正则表达式本身并不是最干净的。你不想允许破折号?您可以在不改变含义的情况下将其简化为:/[2-9]\d{9}$/。除非您尝试使用所有这些括号创建的组。

标签: javascript jquery regex


【解决方案1】:

使用正则表达式对象的test方法:

> /1/ == '1'
false
> /1/.test('1')
true

if (reg.test($(z).val())) {
    alert("Valid")
}

【讨论】:

    【解决方案2】:

    试试这个:- http://jsfiddle.net/adiioo7/Whb55/

    HTML:-

    <form>
        <input type="tel" id="Phone" maxlength="10" pattern="[2-9]{1}[0-9]{2}[0-9]{3}[0-9]{4}" required>
        <input type="submit" value="Submit" />
    </form>
    

    【讨论】:

    【解决方案3】:

    Dude,使用验证插件进行验证 示例:

       $(".selector").validate({
         rules: {
        // simple rule, converted to {required:true}
        // compound rule
        /*Phone is the name of the input*/
    phone: {
      required: true,
      minLength: 10,
      maxLength: 10
         }
    },
      messages: {
    phone: {
      required: "We need your Phone no to contact you",
      minLength: "Your email address must be 10 Characters",
      maxLength: "Your email address must be 10 Characters"
    }
    }
    });
    

    Plugin

    【讨论】:

    • 我不能为这个项目。