请问这个正则表达式需怎么写呢 JavaScript


xxx@163.com,xxx@qq.com,xxx@xxxxx,xxx@xxxx,.....

邮箱会有多个,我只需要校验@符号跟邮箱结尾的英文逗号,其它都不做校验,请问这样正则该怎么写呢

阅读 1.7k
2 个回答
/^([^,@]+@[^,@]+?)(,([^,@]+@[^,@]+?))*$/g

邮箱的正则

^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

整个代码:

const emails = 'xxx@163.com,xxx@qq.com,xxx@xxxxx,xxx@xxxx,.....';
const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
emails.split(',').forEach(email => {
    if (reg.test(email)) {
        console.log('有效邮箱')
    } else {
        console.log('无效邮箱')
    }
})

PS: 如果邮箱允许有英文半角逗号则会有bug

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏