gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 16:34:17 25 4
gpt4 key购买 nike

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

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

输入:

Iam
learning
regex

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

[Iam]
[learning]
[regex]

IE 中的输出:

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

正则表达式代码在这里:

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

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

谢谢

最佳答案

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

textareaIDelement.value.replace(/\r\n/g, "\n").replace(/^(.*)\n*$/gm, "[$1]");

关于浏览器中的 JavaScript 正则表达式替换换行符处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com