正则匹配字符串中有\n的时候出错,但是从浏览器input框输入就可以通过判断,浏览器转义了吗?还有为什么字符串中有\n会出错?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="IE=edge, chrome=1">
    <title></title>
    <style></style>
</head>

<body>
    <input type="text" id="text" >
    <script>
        window.onload = function(){
            var reg = /^(?=.*\d)(?=.*[a-zA-Z]).{4,}$/;
            console.log(reg.test('1212aa1a1a11a1\n111'));
            document.getElementById('text').onkeyup =function(){
                var val =this.value;
                console.log(reg.test(val));
            }
        }
    </script>
</body>
</html>
阅读 2k
1 个回答

是转义字符, n是换行的意思,
'1212aa1a1a11a1\\n111', 这里要加一个\
自动转义是肯定存在的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题