有没有办法用jQuery替换在数组中定义值的文本?

时间:2016-05-19 11:04:01

标签: javascript jquery arrays

这里是HTML代码:

<textarea>I have played arr[0] and i always try to arr[1] in my arr[2]</textarea>

这是数组:

var arr = ["football", "drive", "city"]

如何使用arr[0]在数组arr[1]中使用正确的值替换arr[2]arrjQuery,点击以创建新{{1}使用类似的新内容:

<textarea>I have played football and i always try to drive in my city</textarea>

提前致谢

1 个答案:

答案 0 :(得分:3)

您可以使用正则表达式:

yourTextArea.value = yourTextArea.value.replace(/arr\[(.+?)\]/g, function (orig, index) {
    return arr[index];
})

这将从"arr[x]"字符串中捕获索引,并使用索引从arr数组中获取数据。括号定义了一个捕获组,.+?进行捕获。

它又快又脏:)

作为参考,我从this answer偷走了这个想法。

顺便说一句,你最好使用i18n库而不是手动黑客攻击。还有一些类似gettext的JavaScript解决方案。