Regex ASP.NET用户名的正则表达式
我正在尝试创建一个正则表达式来验证用户名。我希望它遵循以下规则: 包含5到20个字母数字字符(小写或大写),最多一个句点(但不在结尾或开头) 到目前为止,我已经得出以下结论:Regex ASP.NET用户名的正则表达式,regex,Regex,我正在尝试创建一个正则表达式来验证用户名。我希望它遵循以下规则: 包含5到20个字母数字字符(小写或大写),最多一个句点(但不在结尾或开头) 到目前为止,我已经得出以下结论: (?:[a-zA-Z0-9]|([.])(?!\1)){5,20}$ 这在大多数情况下都有效,但它仍然允许用户名在结尾和开头都有一个句号-有人能帮我调整一下吗?这将是一个简单的解决方案: ^[a-zA-Z0-9][.a-zA-Z0-9]{3,18}[a-zA-Z0-9]$ 只需为第一个和最后一个字符指定一个不带点的字符
(?:[a-zA-Z0-9]|([.])(?!\1)){5,20}$
这在大多数情况下都有效,但它仍然允许用户名在结尾和开头都有一个句号-有人能帮我调整一下吗?这将是一个简单的解决方案:
^[a-zA-Z0-9][.a-zA-Z0-9]{3,18}[a-zA-Z0-9]$
只需为第一个和最后一个字符指定一个不带点的字符类。这将是一个简单的解决方案:
^[a-zA-Z0-9][.a-zA-Z0-9]{3,18}[a-zA-Z0-9]$
只需为第一个字符和最后一个字符指定一个不带点的字符类。试试这个:
^(?i)(((?=.{6,21}$)[a-z\d]+\.[a-z\d]+)|[a-z\d]{5,20})$
这个正则表达式是:
- (?i)-不区分大小写(您也可以通过RegexOptions实现这一点)李>
- ((?=.{6,21}$)[a-z\d]+\[a-z\d]+-如果字符串包含单个句点,则匹配6-21个字符李>
- [a-z\d]{5,20}如果字符串不包含句点,则匹配5-20个字符
^(?i)(((?=.{6,21}$)[a-z\d]+\.[a-z\d]+)|[a-z\d]{5,20})$
这个正则表达式是:
- (?i)-不区分大小写(您也可以通过RegexOptions实现这一点)李>
- ((?=.{6,21}$)[a-z\d]+\[a-z\d]+-如果字符串包含单个句点,则匹配6-21个字符李>
- [a-z\d]{5,20}如果字符串不包含句点,则匹配5-20个字符
{6,21}
?这个问题有5到20个字符。它应该是{5,20}
。因为这部分匹配的字符串包含5到20个字母数字字符+正好一个句点。为什么会有{6,21}
?这个问题有5到20个字符。它应该是{5,20}
,因为这部分匹配的字符串包含5到20个字母数字字符+正好一个句点。