js android 换行符,JavaScript字符串换行符?

我刚刚用这段愚蠢的JavaScript测试了几个浏览器:

function log_newline(msg, test_value) {

if (!test_value) {

test_value = document.getElementById('test').value;

}

console.log(msg + ': ' + (test_value.match(/\r/) ? 'CR' : '')

+ ' ' + (test_value.match(/\n/) ? 'LF' : ''));

}

log_newline('HTML source');

log_newline('JS string', "foo\nbar");

log_newline('JS template literal', `bar

baz`);

IE8和Opera 9在Windows上的使用\r\n..我测试过的所有其他浏览器(Windows上的Safari 4和Firefox 3.5,Linux上的Firefox 3.0)都使用\n..他们都能应付\n设置值时很好,尽管IE和Opera会将其转换回\r\n再一次在内部。有一篇包含更多细节的SitePoint文章Javascript中的行尾.

还请注意,这与HTML文件本身的实际行尾无关(都是\n和\r\n给出同样的结果)。

提交表单时,所有浏览器都会将换行符规范化为%0D%0A在URL编码中。要想看到这一点,请加载。data:text/html,

foo%0abar然后按下提交按钮。(有些浏览器阻止提交页面的加载,但您可以在控制台中看到URL编码的表单值。)

不过,我不认为你真的需要做太多的决定。如果只想在换行符上拆分文本,可以这样做:lines = foo.value.split(/\r\n|\r|\n/g);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值