Php 使preg_与用户名验证系统匹配时出现问题
我制作了这个正则表达式代码:Php 使preg_与用户名验证系统匹配时出现问题,php,regex,Php,Regex,我制作了这个正则表达式代码: /^([a-zA-Z\d]+[_]?+[a-zA-Z\d]){3,12}$/ 我希望表达式: 仅允许以任何字母或数字开头/结尾 允许中间有一个低分 只有3到12个字符 当我测试一个超过12个字符的名字时,它仍然会给我一个肯定的结果 如何修复此问题?您可以使用 ^(?=.{3,12}$)[a-zA-Z\d]+(?:_[a-zA-Z\d]+)?$ 详细信息 ^-字符串的开头 (?=.{3,12}$)-允许长度为3到12个字符 [a-zA-Z\d]+-1+字母或
/^([a-zA-Z\d]+[_]?+[a-zA-Z\d]){3,12}$/
我希望表达式:
- 仅允许以任何字母或数字开头/结尾
- 允许中间有一个低分
- 只有3到12个字符
^(?=.{3,12}$)[a-zA-Z\d]+(?:_[a-zA-Z\d]+)?$
详细信息
-字符串的开头^
-允许长度为3到12个字符(?=.{3,12}$)
-1+字母或数字[a-zA-Z\d]+
-可选的(?:u[a-zA-Z\d]+)?
和1+位/位序列u
-字符串结尾$