日本电话号码格式众多,验证起来比较头大,现在咱们来一个简单的总结哈
为了简单起见,使用PCRE 函数preg_match通过匹配正则表达式来实现验证。
function checkGdTelLandline(string $str): int|false {
return preg_match("/\A0(\d{1}[-(]?\d{4}|\d{2}[-(]?\d{3}|\d{3}[-(]?\d{2}|\d{4}[-(]?\d{1})[-)]?\d{4}\z/", $str);
}
这是正则表达式的可视化对比图。
/\A0\d{9}\z/一种更简单的方法是删除连字符和括号并将其传递给.
这是对所描述的PCRE 正则表达式语法的解释。
- / :分隔符
- \A :转义序列 要搜索的字符串的开头
- ( ) :子图案
- \d : 与十进制数字[0-9]相同
- { } :重复
- [ ] : 字符类
- ? :与量词 {0,1}相同
- | :选择
- \z :搜索目标字符串的转义序列末尾
更简单地,去除连字符和圆括号后通过/\A0\d{9}\z/的方法也不错哦。