众所周知,\r叫回车符,\n叫换行符。由于历史原因,windows环境下的换行符是\r\n;(文章最后会稍微解释这个历史原因)linux和html等开源或公开标准中的换行符是\n. 记录这篇笔记的原因是:textarea中含换行符时,在C#中接收后自动增加了一个\r符号。假设 ...
众所周知,\r叫回车符,\n叫换行符。
由于历史原因,get='_blank'>windows环境下的换行符是\r\n;(文章最后会稍微解释这个历史原因)
linux和html等开源或公开标准中的换行符是\n.
记录这篇笔记的原因是:
textarea中含换行符时,在C#中接收后自动增加了一个\r符号。假设这个字段叫Name nvarchar(50),由于自动增加了一个\r符号,在前台验证明明通过了,但是保存到库的时候会报错。因为现在的长度是51.
如果读者有兴趣可以这样测试:
在<textarea id="name"></textarea>中输入字符1,然后回车,然后输入2
在JS中检测长度得到3,$('#name').val().length===3 is true
在C#中得到长度是4,name.length==4 is true
由于换行符是不可见字符,可以用replace(/\n/g,'').length的方法检测,如在JS中:
可以看到textarea中没有\r符号。
再看C#中
sqlParams.ElementAt(1).Value.ToString().Replace("\r\n","").Length2sqlParams.ElementAt(1).Value.ToString().Length4
原标题:简单所以不要忽视,关于\r\n和\n程序员应了解的实际应用
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。