php - 验证波兰和外国手机号码
问题描述
我有以下问题,我需要为波兰和外国手机号码创建一个验证器,但我不知道该怎么做。波兰号码的验证工作正常,不幸的是我不知道如何添加外国号码。我的代码:
$result = preg_match('/^((\+|0\s?0)\s?4\s?8)?[\s\-0-9]+$/', $phone);
if (1 === $result) {
$phone = preg_replace('/(\s|\-)/', '', $phone);
if (null === $phone) {
throw new InvalidArgumentException(sprintf('preg_replace error: %s', preg_last_error()));
}
$result = preg_match('/^((\+|00)48)?[0-9]{9}$/', $phone);
if (1 === $result) {
return;
}
} elseif (false === $result) {
throw new InvalidArgumentException(sprintf('preg_match error: %s', preg_last_error()));
}
可以这样做,如果只给出 9 位数字,我们认为这是波兰数字,我们会收到 +48。在所有其他情况下,我们需要一个以 00 或 + 开头的前缀。
解决方案
推荐阅读
- php - Docusign 使用 php 客户端批量发送
- java - java 8之前接口中方法签名相同的情况下如何实现多重继承
- react-native - React Native 缺少脚本 Android
- java - 如何使用 Java Resthighlevel 客户端生成相同的弹性搜索查询?
- html - 复制时两个弹性项目之间的空白
- java - 如何使用 Spring JndiObjectFactoryBean 为 tomcat7 设置 jndiname 属性值?我这里的属性值是一个文件
- node.js - 如何在没有copyFile的情况下复制文件
- asp.net - ASP.NET MVC 应用程序 cookie 未在 Internet Explorer 的请求中发布
- amazon-web-services - Terraform,无法使用多值路径模式规则创建 ALB 规则
- mysql - 如何在mysql中使用count