电话号码仅允许数字,+和空格

时间:2016-03-01 11:02:12

标签: regex

我想将电话号码字段限制为仅限数字',' +'和'空格'或限制' A-Z'。我正在使用jQuery Validate,我尝试过:

jQuery.validator.addMethod("numero", function(value, element) {
    return this.optional(element) || value == value.match(/^[+1-9 ]*$/);
});

但我的regex规则的numero似乎无法正常运行。

我的代码:

jQuery(document).ready(function(){

    jQuery.validator.addMethod("alpha", function(value, element) {
        return this.optional(element) || value == value.match(/^[a-zA-Z ]*$/);
    });


    jQuery.validator.addMethod("numero", function(value, element) {
        return this.optional(element) || value == value.match(/^[+1-9 ]*$/);
    });

    jQuery('.upsale-form').each(function() {
        jQuery(this).validate({
            rules: {
                'Contact.name': {
                    minlength: 3,
                    required: true,
                    alpha: true
                },
                'Contact.email': {
                    required: true,
                    email: true
                },
                'Contact.phone': {
                    minlength: 9,
                    required: true,
                    numero: true
                }
            }
        });   

    });
});

3 个答案:

答案 0 :(得分:1)

  

我想将电话号码字段限制为仅限数字',' +'和'空格'

您的/^[+1-9 ]*$/\d仅匹配1到9并且遗漏任何零。您可以使用/^[\d+ ]*$/来代表任何数字。

所以{{1}}会有用。

请参阅:http://jsfiddle.net/pqjfxbyt/1/

参考:regexr.com

答案 1 :(得分:1)

也许你想要" 0-9"而不是" 1-9"?

return this.optional(element) || value == value.match(/^[+0-9 ]*$/);

答案 2 :(得分:0)

试试这个Regx,这会帮助你([0-9 + - ])\ w +