1

我强制用户根据一些规则编写用户名,如下所示:

   - alpha start
   - alpha, numerals included
   - exclude I, L , O, Q, 0, 1, 7 

我尝试了类似 [a-hA-Hj-kJ-Km-nM-nNpPr-zR-z2-689]

但我知道这不好或可能是错误的,建议

请重新考虑较小和大写的排除

4

2 回答 2

4

这可以满足您的需求:

^[a-zA-Z&&[^iIlLoOqQ]][a-zA-Z0-9&&[^iIlLoOqQ017]]*$

[X&&[^Y]]表示“X 但不是 Y”

编辑:它至少在 Java 中有效,因为这种表示法似乎不是由每种正则表达式风格管理的......

于 2013-07-11T12:00:24.680 回答
2

你所拥有的很好,但你需要单独从 alpha 字符类开始。你也可以做一个不区分大小写的匹配,所以没有那么多重复。

^[a-hjkmnpr-z][a-hjkmnpr-z2-689]*$
于 2013-07-11T11:36:14.350 回答