搜索并替换unicode字符

时间:2013-03-19 13:58:53

标签: javascript jquery regex unicode

我正在使用这个search and replace jQuery脚本。 我试图将每个字符放在一个范围内,但它不适用于unicode字符。

$("body").children().andSelf().contents().each(function(){
    if (this.nodeType == 3) {
        var $this = $(this);
        $this.replaceWith($this.text().replace(/(\w)/g, "<span>$&</span>"));
    }
});

我应该更改节点类型吗?通过什么方式 ?

感谢

2 个答案:

答案 0 :(得分:1)

用“。”替换\(只有单词字符)。 (所有字符)

答案 1 :(得分:0)

用于匹配“任何字符”的RegEx模式是.而不是\w(只匹配“单词字符” - 大多数JS风格中的字母数字字符和下划线[a-zA-Z0-9_]) 。注意.也匹配空格字符。要仅匹配和替换非空格字符,您可以使用\S

有关JS RegEx语法的完整列表,请参阅the documentation

要替换任何和所有字符,请制作正则表达式/./g

$("body").children().andSelf().contents().each(function(){
    if (this.nodeType == 3) {
        var $this = $(this);
        $this.replaceWith($this.text().replace(/(.)/g, "<span>$&</span>"));
    }
});