我正在尝试创建一个正则表达式来验证用户名。我希望它遵循这条规则:
包含5到20个字母数字字符(大写或小写)和最多一个句点(但不包括结尾或开头)。
到目前为止,我已经提出以下建议:
(?:[a-zA-Z0-9]|([.])(?!\1)){5,20}$
这在大多数情况下都适用,但它仍然允许用户名在结尾和开头有一段时间 - 有人可以帮我调整它吗?
答案 0 :(得分:4)
试试这个:
^(?i)(((?=.{6,21}$)[a-z\d]+\.[a-z\d]+)|[a-z\d]{5,20})$
这个正则表达式是:
答案 1 :(得分:1)
这将是一个简单的解决方案:
^[a-zA-Z0-9][.a-zA-Z0-9]{3,18}[a-zA-Z0-9]$
只需为第一个和最后一个字符指定一个不带点的字符类。