请问这个正则表达式需怎么写呢 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

推荐问题
宣传栏