首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用通配符验证密码的php正则表达式

使用通配符验证密码的php正则表达式
EN

Stack Overflow用户
提问于 2010-09-30 16:32:22
回答 3查看 614关注 0票数 0

我正在尝试向当前的字母数字正则表达式添加通配符,以使密码验证更强大。我并不是要求用户输入通配符,只是允许他们输入通配符。

代码语言:javascript
复制
'/^[a-z0-9]{8,16}$/i'

我也在使用cakephp并在模型中进行验证,如果这有帮助的话,但对于这个答案并不是真的需要。

代码语言:javascript
复制
            'rule' => '/^[a-z0-9]{8,16}$/i',
            'on' => 'create',
            'allowEmpty' => true
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-30 16:37:06

只需将您想要允许的字符添加到字符类([...]):

代码语言:javascript
复制
/^[a-z0-9!#$%&]{8,16}$/i
票数 3
EN

Stack Overflow用户

发布于 2010-09-30 19:13:12

你这样做是完全错误的。切勿对密码字段使用regexp。这样你就不允许用户使用任何东西了,你只是禁止用户输入他想要作为密码的任何东西(可能是一些特殊的字符,比如&或{或其他什么。

在任何情况下,你的方法弊大于利。

您应该做的是,通过在密码字段旁边显示一个“红-黄-绿”指示器来鼓励用户使用特殊字符和更复杂的密码。

票数 1
EN

Stack Overflow用户

发布于 2010-10-01 00:46:48

我还认为你应该允许“一切”,从而删除对内容的验证,只禁止“空”字符串或太短的字符串(理想情况下,使用实时的javascript验证作为指示器,这样人们就不需要尝试10次就能弄清楚什么是有效的)。

你不应该关心人们输入什么,即使是在日语中,因为你无论如何都要编码这个字符串(我希望!),使用CakePHP的内置函数,使用sha1,md5和salt,最后你会得到一些无害的东西。

使用$this->Auth->password($string);

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

https://stackoverflow.com/questions/3828990

复制
相关文章

相似问题

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