【发布时间】:2016-12-07 17:01:34
【问题描述】:
我已经在 laravel 中测试并实现了正则表达式,但它显示了错误。请看这个
EmployerSignupRequest.php
'ephone' => 'required|regex:/^[((\+)|0)[.\- ]?[0-9][.\- ]?[0-9][.\- ]?[0-9]+$/',
我收到了这个错误。
preg_match():在 /var/www/html/jobma/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:1370 中找不到结束分隔符“/”
当我在 php 中运行它时,它工作正常
<?php
$subject = "+91-9041742722";
$pattern = '/^[((\+)|0)[.\- ]?[0-9][.\- ]?[0-9][.\- ]?[0-9]+$/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
【问题讨论】:
-
使用
'ephone' => array('required', 'regex:/^[((\+)|0)[.\- ]?[0-9][.\- ]?[0-9][.\- ]?[0-9]+$/'),但我猜你想要^[+0][.\- ]?[0-9][.\- ]?[0-9][.\- ]?[0-9]+$,对吧?您想在开头匹配0或+,然后是可选的分隔符,其余部分。 -
能否请您发布模式的要求?
-
除了 Wiktor 的注释之外,还有一个问题:
^[((\+)|0)[.\- ]?[0-9][.\- ]?[0-9][.\- ]?[0-9]+$在最初的 "^" 锚之后紧跟一个无关的 "["。