javascript - 您将如何使用正则表达式验证一串手机号码?

标签 javascript jquery regex validation

我需要验证这种类型的字符串

0415256987, 0452 654 987, 0411 236589, 0 410 258 987 etc.

每个数字有 10 位数字,允许使用空格、逗号、换行符。

在我的项目中,这是一个文本区域,用户可以在其中输入以逗号分隔的手机号码字符串。 正则表达式用于js验证。 允许使用空格和新行,以减少用户输入号码时的令人沮丧的体验,并适应输入手机号码的各种方式

如何编写正则表达式来验证它?

我尝试了各种正则表达式字符串,但它们在第一个逗号后都停止工作。 我最好发布我的js。也许还有其他一些错误导致它不起作用。 我正在使用 jquery 验证插件。 我还删除了 10 位数字检查,它会干扰验证错误消息,并且可以在服务器上轻松修复(拒绝或解析)。

 $.validator.addMethod("numbersCommasSpacesOnly",   
                       function(value, element){
                                return /^(\d\s*\r*\n*-*,*)$/.test(value); 
                            }, 
                            "Only numbers, spaces and commas are allowed"
                 );


    $("#UserContactsOptinForm").validate({
        rules:  {
                "data[User][contacts]": {// compound rule
                                required: true, 
                                numbersCommasSpacesOnly: true
                            }
            },
        messages: {
                "data[User][contacts]":     {
                                required: "this field is required"
                            }
              }
    });

    });

谢谢

最佳答案

(\d\s*\r*\n*-*,*){10}

应将 10 位数字与任意数量的空格、逗号、连字符和回车相匹配。

关于javascript - 您将如何使用正则表达式验证一串手机号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1968200/

相关文章:

javascript - 排序并返回数组任务中的差异,返回未定义

javascript - HTML input type=number 步骤阻止表单提交

javascript - 使用 ajax 和 data-* 属性更新按钮

regex - bash:从文件中读取每一行并用作正则表达式来匹配和打印列 awk

javascript - 在 HTML 表中显示对象 ng-repeat - Angular

javascript - 查询 firestore 集合并期望一个数组

javascript - 具有多个选项的 jQuery Datepicker

javascript - 单击时更改 li 元素上的背景

用于 AWS S3 的 Python + Boto3 : Error - Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$"

php - 如何从 php 中的字符串中删除 IMDB id?