php - LARAVEL 电话以 05 或 06 开头“preg_match(): 未找到结束分隔符 '/'”
问题描述
我正在使用 LARAVEL 5.5,我想测试我的电话号码的正则表达式是否以 05 或 06 开头并且号码长度应为 9。
例如,如果号码是 068852123 或 0522321485。
下面是我的代码:
'telephone_1' => 'required|regex:/(05)|(06)[0-9]{8}/',
这段代码有什么问题?
解决方案
由于它以 05 或 06 开头,总长度为 9,因此正则表达式模式可以是
^0[56][0-9]{7}$
解释:
^
字符串的开头0
一个数字为零[56]
从 5 或 6 中取一位数[0-9]{7}
从 0 - 9 取 7 位数字$
字符串的结尾。
PHP代码:
$phone_no = '068852123';
if (preg_match('/^0[56][0-9]{7}$/', $phone_no)) {
echo 'Valid phone no';
} else {
echo 'invalid phone no';
}
推荐阅读
- android - 如何生成pdf417
- c++ - SublimeText 不允许我用一个语句为 if-else 条件输入一个花括号
- sql - 两个group by和总和sql的百分比
- java - Liferay:如何在每个月的第一个星期日上午 8:00 到 11:00 之间以 5 分钟为间隔自动发送批量电子邮件
- cors - 工作箱后台同步 CORS
- php - mysqli_query 在类中带有准备好的语句
- python - 使用递归计算纳皮尔常数 (e)
- powerbi - 访问 PowerBI 中列表列的第一个元素
- powershell - If Else 语句 Powershell CSV 和输出 CSV
- angularjs - 在 JSON 对象键上使用 ng-repeat 在 md-tabs 中生成选项卡