0

我想使用以下格式的正则表达式验证我的电话号码。我已经用谷歌搜索了这些东西,但我找不到以下格式的正则表达式...

    079-26408300 / 8200
    (079) 26408300
    079 264 083 00 
    9429527462

谁能指导我如何验证上述格式的电话号码字段?我只想验证上述格式的电话号码,因为现在只使用以下正则表达式var phone_pattern = /^[a-z0-9]+$/i;

@阿里沙阿艾哈迈德

var phone_pattern = "(\d{10})|(\d{3}-\d{8}\s/\s\d{4})|((\d{3}\s){3}\d{2})|((\d{3})\s\d{8})";

这是检查其是否有效的方式

if (!phone_pattern.test(personal_phone))
        {
            $("#restErrorpersonalphone").html('Please enter valid phone number');
            $("#personal_phone").addClass('borderColor');
            flag = false;
        } else {
            $("#restErrorpersonalphone").html('');
            $("#personal_phone").removeClass('borderColor');
        }

它不工作。我是否以错误的方式实施?

4

2 回答 2

1

让我们从最简单的电话号码开始9429527462
因为它有 10 个字符并且都是数字,所以它的正则表达式可能是\d{10}

现在下一个电话号码079 264 083 00。这种模式的正则表达式可能是(\d{3}\s){3}\d{2} 首先我们期望一组 3 位数字和一个重复三次的空格(\d{3}\s){3},这将覆盖079 264 083(其中包含空格),所以左边将是最后两个字符,使用\d{2}

对于电话号码(079) 26408300\(\d{3}\)\s\d{8}可以使用正则表达式。正则表达式首先查找一个左括号,然后是其中的三个数字,然后是右括号。然后它会寻找一个空格,然后是 8 位数字。

079-26408300 / 8200可以使用 regex 验证电话号码\d{3}-\d{8}\s/\s\d{4}。它首先查找 3 位数字,然后是 -,然后是 8 位数字,然后是空格。然后查找 /,然后查找空格,然后查找 4 位数字。

如果您想知道一个用于验证上述所有模式的正则表达式,请告诉我。

最终组合的正则表达式将是:

/(\d{10})|(\d{3}-\d{8}\s\/\s\d{4})|((\d{3}\s){3}\d{2})|(\(\d{3}\)\s\d{8})/
于 2013-01-30T05:14:00.603 回答
0

直截了当的解决方案很简单,使用 |

String ex = "\\d{3}-\\d{8} / \\d{4}|\\(\\d{3}\\) \\d{8}|...
于 2013-01-30T05:00:59.990 回答