var emailRep1 = /[\w.-]+@[\w.-]+.[\w.-]+/; //正确邮箱的正则表达式
var emailRep2 = /[\w[.-]]+@[\w.-]+.[\w.-]+/; //错误邮箱的正则表达式
我只是将[\w.-] 改为[\w[.-]],就不能正确校验我的QQ邮箱了。单上我单独将[\w.-],[\w[.-]]拿出来测试,感觉匹配模式是一样的,最重要的是语法上感觉也是等价的
正则表达式中语法有讲到,[xyz]字符集合,匹配指定字符集合中任意的一个字符。
你那么看是不对的:[\w.-]+这个加号表示前面的可以有一个或多个,而[\w[.-]]+中的[.-]后面是没有加号的,也就是说当 "." 和 "-" 出现了一次就没了。