

换成"/"则没有问题了。所以正则表达式应该用"/"表示。







这是号码超过12位的错误。
另外,由于规则写的[qQ][qQ],所以写成12345@qQ.com也是可以的,可以改成([q]{2}|[Q]{2}),这样12345@qQ.com或者12345@Qq.com就出错了。必须要写成qq或者QQ。如图:


下面解释一下/^\d{5,12}@[qQ][qQ]\.(com|cn)$/,^匹配你要用来查找的字符串的开头,$匹配结尾,\d匹配数字,{5,12}说明数字必须大于等于5小于等于12,([q]{2}|[Q]{2})表示要么q或者Q出现两次即qq或者QQ,由于.也是元字符,所以要使用的话必须转义"\"。
由于初学,正则表达式写得很幼稚,对比如abcd@qq.com,tom_sina@123.cn等等都不能判断。有很多改进的地方,比如用(?:com|cn)那么.com和.cn都可以使用,并且"?:"不捕获匹配的文本,提高程序执行速度(不过也有缺点,不能使用反向引用)等等等等。