我需要处理国际代码的电话号码,但我不需要手机是一种特定的格式。我发现了很多关于如何将它应用于美国,西班牙等的例子......但没有一个只允许输入00或+的数字,允许使用空格和/或破折号,或者没有空格或破折号。国际电话号码验证与RegEx
我得在一个asp.net MVC 5应用程序上的电话号码领域的应用下面的表达式:
[RegularExpression(@"^\+?\d*$", ErrorMessage = "Not a valid Telephone number.")]
在它的立场,它处理以下情况:
+19999999999
0019999999999
这是好的,但它不允许空格和/或破折号,所以这样的数字:
+ 1 999 999 99 99
+32 999-999-99-99
+7 999 999-99-99
不被视为有效。
如何包含空格和/或破折号。更具体地,是能够确保:
- 仅存在1个空间或数字之间1个破折号
- 允许没有空间或根本没有破折号(当前场景)
- 确保仅存在1 +号使用
- 确保号码长度至少为10个字符,少于20个字符。
如果1.太复杂了,你能告诉我如何在没有任何特定规则的情况下允许空格和/或破折号,所以一个数字如:-33-999 999 + 99-99,而完全错误仍然有效。
由于
^- \ d * - \ d * \ s \ d * \ + \ d * - \ d * $ regx for -33-999 999 + 99-99 – mlkptl35
感谢您指点我正确的方向和快速速成课程!我真的需要学习如何一劳永逸地使用RegEx。非常有用,但在同一时间完全痛苦! – Thierry
如果它可以帮助你检查这个谷歌的公共库解析,格式和验证国际电话号码。 https://github.com/googlei18n/libphonenumber – mlkptl35