0

所以我对字母数字(/^[A-Za-z0-9,\+-]+$/)进行了验证,但是我想要对只允许数字、空格、点和连字符的电话号码进行验证。我会用什么代码来检查这些。

谢谢本

4

3 回答 3

1

根据我的规范,它只有数字、空格、点和连字符。那是任何顺序和任何长度

那将是:

/^[0-9 \.-]+$/
于 2012-11-01T15:04:48.157 回答
1

看到这个参考

/^[\d\s\.\-]+$/

\d是数字,\s是空格,\.是点,\-是连字符。表示and 中的“一个或多个”字符, and
分别+匹配[字符串]的开头和结尾。^$

如果您的电话号码以国家/地区代码开头,您可能还需要一个加号作为第一个非空白字符

/^(?:\s*\+)?[\d\s\.\-]+$/

在这里,(?:..)表示“不为该组创建引用”,*表示前一个字符的零个或多个,\+是加号,(..)?表示“此组是可选的”。

于 2012-11-01T15:06:36.967 回答
0

我只是在处理类似问题时想到了这个。这应该可以解决大多数美国和国际号码。

/(?<optional>[+])?(?:(?<countryCode>\d)[.-]?)?[\s]?\(?(?<areaCodes>\d{3})\)?[.-]?[\s]?(?<codeOne>\d{3})[.-]?[\s]?(?<codeTwo>\d{4,})/g

如您所见,前面的 + 是可选的,countryCode是可选的,后面可以跟, 。-或空格,areaCode是强制性的,它必须完全匹配三个数字,后跟剩余的数字。

于 2021-12-07T21:21:43.757 回答