Ste*_*hen 3 php regex special-characters
我在PHP中有一个密码验证脚本,它检查一些不同的正则表达式,并根据哪一个失败抛出一个唯一的错误消息.以下是正则表达式的数组以及匹配失败时引发的错误消息:
array(
'rule1' => array(
'/^.*[\d].*$/i',
'Password must contain at least one number.'
),
'rule2' => array(
'/^.*[a-z].*$/i',
'Password must contain at least one lowercase letter'
),
'rule3' => array(
'/^.*[A-Z].*$/i',
'Password must contain at least one uppercase letter'
),
'rule4' => array(
'/^.*[~!@#$%^&*()_+=].*$/i',
'Password must contain at least one special character [~!@#$%^&*()_+=]'
)
);
Run Code Online (Sandbox Code Playgroud)
出于某种原因,无论我通过验证,"特殊字符"规则都会失败.我猜这是表达式的一个问题.如果有更好(或更正确)的方式来编写这些表达式,我全都耳朵!
我看不到你的特殊字符正则表达式的问题,但我可以看到大小写检查有问题:
/^.*[A-Z].*$/i
Run Code Online (Sandbox Code Playgroud)
在i末意味着PCRE_CASELESS,也就是说,它会忽略大小写.你应该省略i.
| 归档时间: |
|
| 查看次数: |
220 次 |
| 最近记录: |