Jac*_*ack 1 php regex validation expression eregi
我一直在阅读和阅读正则表达式,但我无法弄清楚我的代码有什么问题:
if(eregi("^[A-Za-z0-9_\-]$", $username)){return true;}
Run Code Online (Sandbox Code Playgroud)
它永远不会回归真实.我正在尝试验证用户名,并且只允许使用小写az,大写az,数字,连字符和下划线.
eregi()已弃用.请preg_match()改用.
你有没有正则表达式的分隔符(如/,@,~,等).
使用preg_match('/^[\w-]+\z/').
/是我用过的分隔符.PHP允许您使用许多其他字符.\w是一个快捷方式[A-Za-z0-9_].这里有用的是使正则表达式更短,并希望更清晰.-它不是有效范围的一部分,则将按字面意思进行.我没有逃脱它,因为在这种情况下它不需要被转义.+是一个量子,表示匹配1次或更多次.你需要这个.\z表示匹配字符串的结尾.您使用过$,这将允许尾随\n.| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |