我找不到任何类似的问题,所以就这样吧。
我需要一个可以验证电话号码的正则表达式。因此,首先只允许使用数字、破折号和“+”。
困难的部分是只允许以以下集合中的任何字符串开头的表达式:
50
51
53
57
60
66
69
72
73
78
79
88
不应允许任何其他没有这些前缀的数字。
我将非常感谢任何提示!谢谢!
我找不到任何类似的问题,所以就这样吧。
我需要一个可以验证电话号码的正则表达式。因此,首先只允许使用数字、破折号和“+”。
困难的部分是只允许以以下集合中的任何字符串开头的表达式:
50
51
53
57
60
66
69
72
73
78
79
88
不应允许任何其他没有这些前缀的数字。
我将非常感谢任何提示!谢谢!
前缀部分非常简单。^
是一个锚点,代表字符串的开始。然后只需附加您想要的模式(我相信您希望允许加号作为第一个字符):
^\+?(?:50|51|53|57|60|66|69|72|73|78|79|88)[\d-]+$
请注意,它与电话号码$
相对应,^
并确保您的字符串在电话号码后不包含非数字非破折号字符。
当然,最后的模式可以做得更具体,以禁止连续的破折号等。
另请注意,\d
在 .NET 中匹配任何 Unicode 数字字符。如果这不是您想要的,请使用[0-9-]
.
您需要对此进行调整,但这是一个开始:
^(50|51|53|57|60|66|69|72|73|78|79|88)\d+$
^
|
-----This part probably needs
more constraints, depending on
your format