求教一个按指定要求的密码验证正则表达式

mrlicn 2012-09-20 10:38:43
各位高手,您好:

我公司客户提出,他们的会员密码规则为:

1、长度6位以上(已解决);
2、开头必须是大写英文字母
3、密码不能包含账户名
4、密码中必须同时包括英文字母和数字

这个真把小弟难住了,请教各位这个功能可怎么实现?百度了很长时间没有找到合适办法。项目经理催的急,拜托大家了!
...全文
147 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2012-09-23
  • 打赏
  • 举报
回复
如果 Xbear63 是包含的话
那么 X63bear 算不算包含?

LZ尚未发话,怎知他是如何想的?
前者很容易做到,后者就不可能了
黄袍披身 2012-09-22
  • 打赏
  • 举报
回复
一个正则表达式完成你上面所有的判断 我觉得应该无法实现.
bear63 2012-09-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

3、密码不能包含账户名

这是不可能用正则实现的
正则只不过是人工语言的规范,不要让他参与智能活动
同时也不要给自己上套
[/Quote]

他的意思应该是 添加用户的时候,有一个用户名,有一个密码。

这个密码,不能包括输入的那个用户名。
acabin 2012-09-22
  • 打赏
  • 举报
回复
3用strpos,4用单独的一条正则,专门匹配0-9,因为开头必须是英文大写字母,所以必须含有英文这条没意义
xuzuning 2012-09-22
  • 打赏
  • 举报
回复
3、密码不能包含账户名

这是不可能用正则实现的
正则只不过是人工语言的规范,不要让他参与智能活动
同时也不要给自己上套
ImN1 2012-09-22
  • 打赏
  • 举报
回复
一条正则也可以实现的,只是脑细胞会死很多,而且写好也没实用性——每次也就只针对一个密码校验,纯粹研究心态玩还行
kankan231 2012-09-20
  • 打赏
  • 举报
回复
规则较多,直接写个函数验证
ImN1 2012-09-20
  • 打赏
  • 举报
回复
#^[A-Z]([A-Za-z]*\d+[A-Za-z0-9]*){5,}$#
这个是不允许符号的情况

#^[A-Z]([A-Za-z.]*\d+[A-Za-z0-9.]*){5,}$#
这个是允许符号的情况,把里面的点换成你允许的符号罗列出来

第三条建议用另外的字符串函数判断,如果写入正则会很复杂


未测试

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧