我有一个正则表达式 ^[a-zA-Z0-9]{0,14}$ 只允许字母数字。但是有一个问题我不希望用户名只有数字,这个正则表达式只接受数字,也像 56426542 所以如何只限制数字
问问题
2333 次
2 回答
2
你想要的正则表达式:
^((?=.*[a-zA-Z])[a-zA-Z0-9]{0,14})$
这不会强迫您必须以字母开头。用户名可以以字母或数字开头,确保用户名不仅仅是数字。
编辑:修复了长度检查。此外,您可能希望将 {0,14} 更改为 {1,14}。好吧,用您的最小长度要求替换第一个数字。
于 2012-10-01T18:57:29.253 回答
1
蒂姆托迪
最简单的解决方案是要求用户名以字母开头
^[A-Za-z][A-Za-z0-9]{0,14}
请记住,{0,14} 接受空字符串作为有效输入
编辑
前面的表达式接受 1 到 15 个字符的输入,更好的解决方案是:^[A-Za-z][A-Za-z0-9]{0,13}
但 Grommer 解决方案更好
于 2012-10-01T18:50:36.613 回答