我正在寻找一个匹配荷兰电话号码的正则表达式。这些是格式要求:
- 应该从 0 开始
- 最多包含 1 个(可选)破折号“-”字符,现在它在哪里并不重要,只要它不是第一个字符
- 总长度 10 或 11 个字符
到目前为止,这是我想出的:
^0+-{1}?([0-9]{10,11})$
我正在寻找一个匹配荷兰电话号码的正则表达式。这些是格式要求:
到目前为止,这是我想出的:
^0+-{1}?([0-9]{10,11})$
我以前在 http://regexlib.com/Search.aspx?k=phone%20number上看到过这个, 看看这个网站,希望它有帮助。
(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)
用于评估荷兰式电话号码的正则表达式。可能的示例前缀:+31、+31(0)、(+31)(0)、0、0031 后跟 9 个数字(可以包含空格或 -)。
我想出了这个创作
^(?:0|(?:\+|00) ?31 ?)(?:(?:[1-9] ?(?:[0-9] ?){8})|(?:6 ?-? ?[1-9] ?(?:[0-9] ?){7})|(?:[1,2,3,4,5,7,8,9]\d ?-? ?[1-9] ?(?:[0-9] ?){6})|(?:[1,2,3,4,5,7,8,9]\d{2} ?-? ?[1-9] ?(?:[0-9] ?){5}))$
试试这个正则表达式:^(?=^.{10,11}$)0\d*-?\d*$
这是荷兰手机号码的正则表达式,包括检查国际前缀(0031 或 +31)。检查它:https ://regex101.com/r/Y2DG19/1
^\(?([+]31|0031|0)-?6(\s?|-)([0-9]\s{0,3}){8}$
希望这可以帮助人们。
你也可以这样做。首先,您删除所有非数字,然后使用正则表达式检查数字。
const regex = /^((\+|00)?31|0(?!0))(\d{9})$/;
const valid = regex.test(input.replace(/\D/g, ''));
0031
它适用于以, +31
,开头的数字0
。
我试图通过对连字符或空格的使用添加更多限制来详细说明@Raj 的解决方案,因为它也以某种方式捕获了 06-01-2019。我还在那里发表了一些评论以提供示例:
\b(\+[0-9]{2}(?# e.g. +31)|^\+[0-9]{2}\(0\)|\(\+[0-9]{2}\)\(0\)(?# e.g. +31(0)|00[0-9]{2}(?# e.g. 0031)|0)([6][\-\s]?[1-9][0-9]{7}(?# e.g. 0612345678 or 06-12345678 or 06 12345678)|[6][\-\s]?[1-9][0-9]\s?[0-9]{2}\s?[0-9]{2}\s?[0-9]{2}(?# e.g. 06-12 34 56 78)|[6][\-\s]?[1-9][0-9]\s?[0-9]{3}\s?[0-9]{3}(?# e.g. 06-12 345 678)|[6][\-\s]?[1-9][0-9]{2}\s?[0-9]{3}\s?[0-9]{2}(?# e.g. 06-123 456 78)|[0-9]{2}[\-\s]?[1-9][0-9]{6}(?# e.g. 030-1234567)|[0-9]{2}[\-\s]?[1-9][0-9]{2}\s?[0-9]{2}\s?[0-9]{2}(?# e.g. 030-123 45 67)|[0-9]{2}[\-\s]?[1-9][0-9]\s?[0-9]{2}\s?[0-9]{3}(?# e.g. 030-12 34 567))\b
(我知道......而且我什至没有涵盖所有包含空格的案例)
这是我的解决方案:
extension String {
func isValidPhone() -> Bool {
let dutchRegex = "^(06[0-9]{8}|[+]{1}31[0]?[0-9]{9,10}|0031[0]?[0-9]{9,10})"
let phonePredicate = NSPredicate(format:"SELF MATCHES %@", dutchRegex)
return phonePredicate(with: self)
}
}
这将验证所有带有 +31、06、0031 的号码,因此仅适用于荷兰电话号码
我为荷兰手机号码生成了以下号码。直到现在,我测试了一些可能性并且能够覆盖它们。我希望它有所帮助。
\(?(31\s*|0)-?6(\s*\)?|-?\s*)([0-9]\s{0,3}){8}