[._-]和[.-_]有什么区别呢?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>节点练习</title>
<script>
var str='asdf.123-546_sdf@qq.com-c_cn.cn';
var pattern = /^[a-z0-9]+(?:[._-][a-z0-9]+)*@[a-z0-9]+(?:[._-][a-z0-9]+)*\.[a-z]{2,4}$/i;
//pattern这正则可以正常输出。
//var pattern1 = /^[a-z0-9]+(?:[.-_][a-z0-9]+)*@[a-z0-9]+(?:[.-_][a-z0-9]+)*\.[a-z]{2,4}$/i;
//当我把[._-]改成[.-_]时输出是 null 这是为什么?还有中括号你面的. 不是特殊字符吗, 为什么不用加\转义?
document.write(pattern.exec(str));
</script>
</head>
<body>
</body>
</html>
正在回答
'.' 在 字符组的方括号[]内部,已经不是元字符了,只是一个普通的'.' 。JavaScript正则中很多原本需要转义的元字符在字符组中都不需要转义,即可代表自身,除了点'.'外,还有 ? * + 等等,希望对你有帮助,祝学习愉快。
- 参与学习 466 人
- 提交作业 74 份
- 解答问题 635 个
JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星