加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

regex – 电子邮件地址中长度验证的正则表达式

发布时间:2020-12-14 05:36:20 所属栏目:百科 来源:网络整理
导读:我们有一个文本框,接受逗号分隔的电子邮件地址.正则表达式是 ^(w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*s*[,]?b)*$. 但是现在我无法为此表达式添加长度验证.每个电子邮件地址不得超过150个字符.我试过了 ^((w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w
我们有一个文本框,接受逗号分隔的电子邮件地址.正则表达式是

^(w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*s*[,]?b)*$.

但是现在我无法为此表达式添加长度验证.每个电子邮件地址不得超过150个字符.我试过了

^((w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)){1,150}s*[,]?b)*$. 

但它不起作用.
你能否修改正则表达式,以便它也实现这个验证.

解决方法

我宁愿不要进一步使这个正则表达式复杂化,并在检查电子邮件匹配之前添加显式长度检查.在JavaScript中,它将类似于以下内容:

function validateEmail(email) {
    var regex = /^(w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*s*[,]?b)*$/;
    // 20 is used instead of 150 for sake of example
    return email.length <= 20 && regex.test(email);
}
// validateEmail("jdoe@example.com") == true
// validateEmail("loooooooooooooooooooonjohn@example.com") == false

顺便说一下,你的正则表达式中$后面的点似乎是一个错误,所以我在我的片段中跳过它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读