regex在输入电子邮件地址时检查有效的总字符数



我需要使用以下条件验证电子邮件地址:只有小写字母、数字和._-可以输入。第一个字母必须是数字或字母表。字符总数在10到100之间。这是我的正则表达式

^((?=[^@]*[a-z])([a-z0-9])(([a-z0-9])*([._-])?([a-z0-9]))*@(([a-z0-9-])+(.))+([a-z]{2,4}+)).{10,100}$

但它不适用于.{10,100}。我试着用它来检查字符总数,但失败了。有什么解决方案吗?

您可以在模式的开头添加一个前瞻,断言它包含10到100个字符:

^(?=.{10,100}$)((?=[^@]*[a-z])([a-z0-9])(([a-z0-9])*([._-])?([a-z0-9]))*@(([a-z0-9-])+(.))+([a-z]{2,4}+)).*$
^^^ change is here

最新更新