TP5验证器填写正则表达式报错preg_match: No ending delimiter ‘/’ found解决办法

错误写法:

$validate = new Validate([
	'password|密码' => '/(^$)|(.+){6,16}$/',
	'repass|确认密码' => '/(^$)|(.+){6,16}$/',
	'tel|手机号' => 'require|/^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/'
]);

以前一直都是这么写的, 这次就报错了…不知道为啥

正确写法:

$param = request()->post();

$validate = new Validate([
	'password|密码' => ['regex:/(^$)|(.+){6,16}$/'],
	'repass|确认密码' => ['regex:/(^$)|(.+){6,16}$/'],
	'tel|手机号' => ['require','regex:/^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/']
]);

if (!$validate->check($param)) {
	return json(['code' => 0, 'msg' => $validate->getError()]);
}

记录一下.
-End-

风影OvO

风影OvO, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权 | 转载请注明原文链接

3 Comments

  • 代码

  • 学到了

  • 页面挺好看的

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐