2

我有一个正则表达式 ^[a-zA-Z0-9]{0,14}$ 只允许字母数字。但是有一个问题我不希望用户名只有数字,这个正则表达式只接受数字,也像 56426542 所以如何只限制数字

4

2 回答 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 回答