题解 | #邮箱字符串判断#

邮箱字符串判断

http://www.nowcoder.com/practice/c72b2b5472704d4a98597cb74b0257a7

整个解体思路是比较简单的。关于在于邮箱的正则

上面这个正则是我一直在用的一个正则,但是在提交的时候,提示了通过率为6/7
仔细看了一下没有通过了案例,发现需要在前面加上\.
最终的正则为:/^[\w\.]+@[\da-z\.-]+\.([a-z]+|[\u4E00-\u9FFF]+)$/

function isAvailableEmail(sEmail) {
    let reg=/^\w+@[\da-z\.-]+\.([a-z]+|[\u4E00-\u9FFF]+)$/
    return reg.test(sEmail);
}

下面将这个正则,按照我的理解来给大家分析一下。
主要通过 @ 和. 将整体分为三部分:

1、^\w + : ^ 代表以后面的开头 
         \w代表数字+字母+下划线
         + 代表匹配前面的表达式一次或多次

2、[ \da-z\.-]+ :   [ ] 代表中括号表达式的开始
                 \d 代表[0-9]的数字,取其一
                 a-z 代表小写字母,取其一
                 \.  代表匹配 . 
                 -  代表匹配 –
3、([a-z]+|[\u4E00-\u9FFF ]+)$: ()代表子表达的开始
                               |  代表任选其一
                               \u  代表Unicode编码
                               4E00-9FFF为中文字符编码区
                               $  代表以前面的表达式结束
                               
希望对你们有所帮助!
全部评论
没通过
点赞 回复 分享
发布于 03-05 13:29 广东

相关推荐

21 3 评论
分享
牛客网
牛客企业服务