浏览器中的 JavaScript 正则表达式替换换行符处理

2024-01-28

我创建了一个 html 文本区域,能够在其中输入的任何文本的开头和结尾添加“[”和“]”。

我的问题是,当我在文本区域中输入一些多行数据时,正则表达式在 ff 和 ie 中的处理方式不同。

Input:

Iam
learning
regex

预期输出:(我在 FF 中得到这个)

[Iam]
[learning]
[regex]

IE 中的输出:

[Iam
][]
[learning
][]
[regex]

正则表达式代码在这里:

(textareaIDelement.value).replace(/(^)(.*)(\n{0,})($)/gm, "[" + "$2" +"]");

我添加了(\n{0,})在正则表达式中匹配换行符..但它没有任何效果..

Thanks


在 IE 中,文本区域中的行分隔符value财产是\r\n。在所有其他主要浏览器中\n。一个简单的解决方案是将行分隔符标准化为\n第一的。我还简化了正则表达式:

textareaIDelement.value.replace(/\r\n/g, "\n").replace(/^(.*)\n*$/gm, "[$1]");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

浏览器中的 JavaScript 正则表达式替换换行符处理 的相关文章

随机推荐