我正在尝试制作一个正则表达式来验证用户名。到目前为止,我有:
/^[^\.]{1}[A-Za-z0-9]*\.?[A-Za-z0-9]*[^\.]{1}$/
但是它没有按我预期的那样工作。
以下规则用于验证用户名:
minlength = 3
)maxlength = 20
)[A-Za-z0-9]
个字符。 此外,在另一页上,允许用户输入其用户名或电子邮件地址。是否有任何方法可以验证字符串是否是同一正则表达式中的或者有效用户名或有效电子邮件地址?
一些有效值的示例:
一些无效值的示例:
如果您在脚本中而不是使用regexp来检查长度,则非常简单
但是如果需要,您可以使用预读来完成此操作:
/^(?=[a-z0-9.]{3,20}$)[a-z0-9]+\.?[a-z0-9]+$/i
[A-Za-z0-9]
与\w
如果您想使用相同的正则表达式来验证username
或e-mail
地址,只需将第二个正则表达式放在|
符号后,例如:
/^(?=[a-z0-9.]{3,20}$)[a-z0-9]+\.?[a-z0-9]+$|^.*@\w+\.[\w.]+$/i
^.*@\w+\.[\w.]+$
在这种情况下是一种非常简单的邮件验证(您可能希望使用更好的一种)]
您不应该在一个正则表达式中做太多事情。
您好,我为用户名制定了解决方案,它只允许在用户名中使用下划线作为特殊字符,并且还有助于同时验证电子邮件
以下为正则表达式链接:
https://regex101.com/r/MQK532/1
/^(?=.{3,16}$)[a-zA-Z0-9]+([_?[a-zA-Z0-9]+)$|^.*@\w+\.[\w.]+$/i