日期:2014-05-16  浏览次数:20421 次

一个"\n"的问题,百思不得其解(刚才描述有误,重新编辑了)
本帖最后由 anyilaoliu 于 2013-11-08 17:00:08 编辑
这段代码

function checkForm(){
var str = '';
var name = $('#client_name').val();
var phone = $('#client_phone').val();
if(name == ''){
str += '*客户姓名不能为空'+'\n';
}
var reg = /^[1][3-8]\\d{9}$/;
if(!reg.test(phone)){
str += "*移动电话格式不正确"+"\n";
}

alert(str);
//return str;
}


弹出结果是
引用
*客户姓名不能为空
*移动电话格式不正确n



function checkForm(){
var str = '';
var name = $('#client_name').val();
var phone = $('#client_phone').val();
if(name == ''){
str += '*客户姓名不能为空'+'\n';
}
var reg = /^[1][3-8]\\d{9}$/;
if(!reg.test(phone)){
str += "*移动电话格式不正确";
str += "\\n";
}

alert(str);
//return str;
}

这样才能正确的 
引用
*客户姓名不能为空
*移动电话格式不正确


如果

function checkForm(){
var str = '';
var name = $('#client_name').val();
var phone = $('#client_phone').val();
if(name == ''){
str += '*客户姓名不能为空'+'\n';
}
var reg = /^[1][3-8]\\d{9}$/;
if(!reg.test(phone)){
str += "*移动电话格式不正确";

}
str += "\n";
alert(str);
//return str;
}

也能得到正确结果,反之在test之外写 str += "\\n"就会出现带\n的弹出

求解详细原因
javascript 正则

------解决方案--------------------
str+="\\n";已经转义了吧
------解决方案--------------------
哪个版本的什么浏览器?我这边没有出现问题.IE10/FF24/Chrome28
------解决方案--------------------
<script>
var str = '';
str += '*客户姓名不能为空'+'\n';
str += "*移动电话格式不正确"+"\n";
str += '-';
alert(str);
</script>

------解决方案--------------------
没有问题吧。。
不过我一般用"/r/n"
------解决方案--------------------
正则表达式多了一个\吧
------解决方案--------------------
到底想问什么?
我看你是不是写反了。
------解决方案--------------------
正则 需要转译