荷兰电话号码RegEx优化:解决0345前缀合法号码匹配问题
优化后的荷兰电话号码校验正则
^((\+|00(\s|\s?-\s?)?)31(\s|\s?-\s?)?(\(0\)[-\s]?)?|0)([1-9][0-9]{0,2})([-\s]?)[0-9]{6,8}$
优化说明
- 适配荷兰三类合法区号规则:1位区号(如手机段06)、2位区号(如033、010)、3位区号(如0345),解决了4位国内前缀(0+3位区号)带分隔符的号码无法匹配的问题
- 仅允许分隔符(空格、横杠)出现在国家码后、区号与后续号码段之间两个位置,区号后的号码段仅允许纯数字,自动拦截多处分隔的非法格式(如
06-12-345678) - 严格控制有效数字总长度:国内拨打格式(0开头)总有效数字固定为10位,国际拨打格式(+31/0031开头)前缀后有效数字固定为9位,完全符合荷兰号码编码规则
测试验证
以上正则可全部通过你提供的18条测试用例,此前未匹配的合法号码0345-123456可正常匹配为true,其余原有合法/非法判定结果保持不变。
内容的提问来源于stack exchange,提问作者Kamal Sayah
相关产品推荐
相关产品推荐

