我强迫用户根据以下规则编写用户名:
- alpha start
- alpha, numerals included
- exclude I, L , O, Q, 0, 1, 7
我试过像[a-hA-Hj-kJ-Km-nM-nNpPr-zR-z2-689]
但是我知道这不好或者可能是错的,建议
请重新考虑较小的和大写字母排除
答案 0 :(得分:4)
这可能符合您的需求:
^[a-zA-Z&&[^iIlLoOqQ]][a-zA-Z0-9&&[^iIlLoOqQ017]]*$
[X&&[^Y]]
表示“X但不是Y”
编辑:它至少在Java中运行,因为这种符号似乎不是由每个正则表达式风格管理的......
答案 1 :(得分:2)
你有什么不错,但你需要单独从alpha字符类开始。你也可以做一个不区分大小写的匹配,所以没有那么多的重复。
^[a-hjkmnpr-z][a-hjkmnpr-z2-689]*$