所以我对字母数字(/^[A-Za-z0-9,\+-]+$/)
进行了验证,但是我想要对只允许数字、空格、点和连字符的电话号码进行验证。我会用什么代码来检查这些。
谢谢本
所以我对字母数字(/^[A-Za-z0-9,\+-]+$/)
进行了验证,但是我想要对只允许数字、空格、点和连字符的电话号码进行验证。我会用什么代码来检查这些。
谢谢本
根据我的规范,它只有数字、空格、点和连字符。那是任何顺序和任何长度
那将是:
/^[0-9 \.-]+$/
看到这个参考,
/^[\d\s\.\-]+$/
\d
是数字,\s
是空格,\.
是点,\-
是连字符。表示and 中的“一个或多个”字符, and
分别+
匹配[
字符串]
的开头和结尾。^
$
如果您的电话号码以国家/地区代码开头,您可能还需要一个加号作为第一个非空白字符
/^(?:\s*\+)?[\d\s\.\-]+$/
在这里,(?:
..)
表示“不为该组创建引用”,*
表示前一个字符的零个或多个,\+
是加号,(
..)?
表示“此组是可选的”。
我只是在处理类似问题时想到了这个。这应该可以解决大多数美国和国际号码。
/(?<optional>[+])?(?:(?<countryCode>\d)[.-]?)?[\s]?\(?(?<areaCodes>\d{3})\)?[.-]?[\s]?(?<codeOne>\d{3})[.-]?[\s]?(?<codeTwo>\d{4,})/g
如您所见,前面的 + 是可选的,countryCode是可选的,后面可以跟, 。-或空格,areaCode是强制性的,它必须完全匹配三个数字,后跟剩余的数字。