我想用正则表达式来验证电话号码的长度,只有两个条件。首先它的长度应该是 10。
该字符串的长度应为 10 位,可以是任何数字,例如
4345623467
如果字符串长度为 11,则应以 1 开头。
14345623467
长度可以是 10 或 11。其他长度不应该是有效的
谢谢你的帮助。
一个更简单的:可选1
后跟 10 位数字
/^1?\d{10}$/
以下正则表达式匹配以“1”开头的 10 位或 11 位数字序列或恰好十位数字的任何序列:
/^(?:1\d{9,10}|\d{10})$/
以下是它的分解方式,以便您可以使用正则表达式变得更强大:
/^(?:1\d{9,10}|\d{10})$/
│├─┘ ├──────┘ ├────┘ └ The end of the string.
││ │ └ Any digit repeated exactly ten times.
││ └ Any digit (0-9) repeated nine or ten times.
│└ A non-matching group of two possible matches separated by a pipe (?:...|...)
└ The start of the string.
那应该这样做:
/^(\d{10}|1\d{10})$/