首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel中进行密码验证

在Laravel中进行密码验证
EN

Stack Overflow用户
提问于 2016-01-05 07:01:33
回答 2查看 2.5K关注 0票数 1

我需要密码验证,比如

代码语言:javascript
复制
1 English uppercase characters (A – Z)
2 English lowercase characters (a – z)
3 Base 10 digits (0 – 9)
4 Non-alphanumeric (For example: !, $, #, or %)
5 Unicode characters

我已经应用了一些代码,但是我得到的结果是一个错误。我想regex用错了格式。请检查我的代码并纠正我。谢谢

AuthController.php

代码语言:javascript
复制
protected function validator(array $data)
    {
        return Validator::make($data, [
            'firstname' => 'required|max:255',
            'lastname' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|
                           regex:array("/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/")|
                           min:8|
                           confirmed',
        ]);
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-05 09:33:35

Regex验证器接受regex字符串,但作为数组传递。

尝试更改您的代码

代码语言:javascript
复制
regex:array("/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/")

代码语言:javascript
复制
regex:/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/

另外,请看@vks的答案。他的判罚看上去更清楚。

当使用regex模式时,可能需要在数组中指定规则,而不是使用管道分隔符,特别是当正则表达式包含管道字符时。

如果管道(|)叹息在正则表达式模式中可用,它可能与分隔符发生冲突。

票数 0
EN

Stack Overflow用户

发布于 2016-01-05 07:03:58

代码语言:javascript
复制
^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).{3,}$

这应该是为了你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34605890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档