首页 > 代码库 > 正则表达式--断言
正则表达式--断言
密码的正则表达式,要求是密码8-16位,必须包含数字大小写字母以及特殊字符(~_@#$%&*^.!)
高人写的:$pwd_pattern = ‘/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[\.\!\~\_@#$%&*^])[a-zA-Z0-9\.\!\~_@#$%&*^]{8,16}$/‘;
经过学习,分析如下:
(?=.*?[a-z]) 断言,只匹配一个位置
比如,你想匹配一个“人”字,但是你只想匹配中国人的人字,不想匹配法国人的人,就可以用: (?=中国)人
(?=.*[a-z])\d+ 匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字
(?=.*?[a-z])\d+ 匹配以“任意一个字符连着一个小写字母”开头的数字,只匹配数字
断言就是指明某个字符串前边或者后边,将会出现满足某种规律的字符串。
/^[a-zA-Z0-9\.\!\~_@#$%&*^]{8,16}$/ 12345678 qqqqqqqq 123!@#Wq都匹配 不满足要求
/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[\.\!\~\_@#$%&*^])[a-zA-Z0-9\.\!\~_@#$%&*^]{8,16}$/ 123!@#Wq匹配 12345678 qqqqqqqq 不匹配
正则表达式--断言
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。