正则表达式的Javascript - 怎么用它来验证电话号码?(Javascript Regex

2019-07-19 02:54发布

谁能告诉我是什么正则表达式将工作来验证,包括数字和还允许这些字符之间的空白国际电话号码: - ( )

这串数字中的量是不是太重要了,我只是想让用户能够如果他们希望像实施例1或2键入的内容:

例:

  1. +44 (0) 207 111 1111

  2. 442071111111

我已阅读并测试了张贴解答一些类似的问题,尽我的理解,但到目前为止他们都不工作了我,我希望他们的方式。

请有人可以帮助我如何上面应该进行验证写一个明确的解释?

非常感谢的人谁可以提供帮助。

Answer 1:

试试这个代码

HTML代码

<input type="text" id="phone"/>

JS代码

$("#phone").blur(function() {
  var regexp = /^[\s()+-]*([0-9][\s()+-]*){6,20}$/
  var no = $("#phone").val();
  if (!regexp.test(no) && no.length < 0) {
    alert("Wrong phone no");
  }
});


Answer 2:

见的电话号码验证全面的正则表达式

快速备忘单

  • 启动表达式: /^
  • 如果你想需要一个空间,使用: [\s]\s
  • 如果你想要求括号,使用: [(][)] 。 使用\(\)是丑陋的,可以使事情混淆。
  • 如果你想什么是可选的,放了?
  • 如果你想有一个连字符,只需键入-[-] 。 如果你不把它第一个或最后一个系列的其他字符,不过,你可能需要转义: \-
  • 如果你想在一个插槽接受不同的选择,在方括号内的选项: [-.\s]需要一个连字符,句号,或空间。 最后括号后面的问号将使所有这些可选该插槽。
  • \d{3}需要3位数字:000-999。 简写[0-9][0-9][0-9]
  • [2-9]要求用于该时隙的一个数字2-9。
  • (\+|1\s)? :接受一个“加”或1和空间(管道字符, | ,是“或”),并使其可选。 “加”号必须转义。
  • 如果你想具体的数字来匹配插槽,输入它们: [246]将需要2,4,或6 [77|78]将需要77或78。
  • $/ :结束表达


Answer 3:

这是一个正则表达式的长,但它同时支持的格式(例如,2是一个有效的国际号码,是必须以+或00):

/^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$/i

这使得扩展和格式和分隔选择题。

火柴:

  • (351)282 43 50 50
  • 90191919908
  • 555-8909
  • 001 6867684
  • 001 6867684x1
  • 1(234)567-8901
  • 1-234-567-8901 X1234
  • 1-234-567-8901 ext1234
  • 1-234 567.89 / 01 ext.1234
  • 1(234)5678901x1234
  • (123)8575973
  • (0055)(123)8575973

在$ N,这样可以节省:

  1. 国家指标
  2. 电话号码
  3. Extention

这同样的答案被赋予在这里: 对电话号码验证全面的正则表达式 (直接链接到我的回答)



Answer 4:

/*
@isValidUSPhoneFormat function will check valid US Format
    Allowed US Format
(123) 456-7890
123-456-7890
123.456.7890
1234567890
(734) 555.1212
*/   

    function isValidUSPhoneFormat(elementValue){  
            var phoneNumberPattern = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s.]{0,1}[0-9]{3}[-\s.]{0,1}[0-9]{4}$/;  
            if(phoneNumberPattern.test(elementValue) == false)
            {
                 var phoneNumberPattern = /^(\()?\d{3}(\))?(.|\s)?\d{3}(.|\s)\d{4}$/; 
                 return phoneNumberPattern.test(elementValue);   
            }
            return phoneNumberPattern.test(elementValue);  
        }

愿这将帮助你理解JavaScript正则表达式..



Answer 5:

想都别想。 努力防范你认为什么是可能会导致愤怒的用户,谁不能进入完全有效的电话号码无效的输入。 而如果用户真的想进入一个无效的电话号码,他/她将能够反正做到这一点。



Answer 6:

function checkPhoneNumber(val) {
    var num = document.getElementById(val).value;
    var mob=/^[+]*[(]{0,1}[0-9]{1,3}[)]{0,1}[-\s\./0-9]*$/g;
    if (mob.test(num) == false) {
        alert("Please Enter Valid Phone Number.");
        document.getElementById(val).value = "";
        return false;
    }
     if (num.length > 15) {
        alert("Only 15 characters allowed for Phone Number field.");
        document.getElementById(val).value = "";
        return false;
    }

    return true;
}

试试吧问鼎



文章来源: Javascript Regex - What to use to validate a phone number?