Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 需要正则表达式来验证没有加号的11位电话号码_Regex - Fatal编程技术网

Regex 需要正则表达式来验证没有加号的11位电话号码

Regex 需要正则表达式来验证没有加号的11位电话号码,regex,Regex,例如,我需要一个正则表达式来验证没有加号(+)的电话号码 46123456789,46-123-456-789,46-123-456-789 数字应为11位,其余数字应忽略 我目前正在使用这个正则表达式/([+]?\d{1,2}[.-\s]?)(\d{3}[.-]?){2}\d{4}/g 它一点也不正确我不确定输入是什么样子的。但基于你的问题,我想你想把它修剪一下,然后和正则表达式匹配 调整你的输入 string.split(/[^0-9.]/).join(''); 您可以将其与此正则表达式匹

例如,我需要一个正则表达式来验证没有加号(+)的电话号码

46123456789,46-123-456-789,46-123-456-789

数字应为11位,其余数字应忽略

我目前正在使用这个正则表达式
/([+]?\d{1,2}[.-\s]?)(\d{3}[.-]?){2}\d{4}/g


它一点也不正确

我不确定输入是什么样子的。但基于你的问题,我想你想把它修剪一下,然后和正则表达式匹配

调整你的输入

string.split(/[^0-9.]/).join('');
您可以将其与此正则表达式匹配:

((\([0-9]{3}\))|[0-9]{3})[\s\-]?[\0-9]{3}[\s\-]?[0-9]{4}$

我会让这个函数返回true或false并按原样使用

功能isPhoneValid(电话){
让onlyNumbers=phone.replace(/[^0-9]/g,“”);
如果(onlyNumbers.length!=11)console.log(phone+'无效');
else console.log(电话+'有效');
}
isPhoneValid('1(888)555-1234');

isPhoneValid('(888)555-1234')关于您尝试的模式:

在模式中使用此部分可以选择匹配加号。它被包装在一个可选组
([+]?\d{1,2}[.-\s]?)?
中,可能还匹配总共12位数字

字符类
[.-\s]
与列出的字符中的1个匹配,允许使用混合分隔符,如
333-333.3333

您没有使用锚,也可能获得部分匹配


您可以使用
|
将图案与连字符和数字匹配,或者仅匹配11个数字

^(?:\d{2}-\d{3}-\d{3}-\d{3}|\d{11})$
  • ^
    字符串的开头
  • (?:
    备选方案的非捕获组
    • \d{2}-\d{3}-\d{3}-\d{3}
      匹配由连字符分隔的位数
    • |
    • \d{11}
      匹配11位数字
  • 关闭组
  • $
    字符串结尾

如果需要多个必须一致的分隔符,可以使用带有反向引用的捕获组
\1

^(?:\d{2}([-.])\d{3}\1\d{3}\1\d{3}|\d{11})$

为什么不直接从字符串中删除非数字字符,然后验证剩下的是11个字符?我还需要验证46-123-456-789,如
^\d{2}-\d{3}-\d{3}-\d{3}| \d{11}$
这个页面有更多关于验证电话号码@UmerZaman的信息,我认为它不允许+符号,因为锚
^
$
请看@UmerZaman你是对的,很抱歉我忘了它周围的分组
^(?:\d{2}-\d{3}-\d{3}-\d{3}-\d{3}-\d{3}\d{3}\d{124;\ d{11}$