转自:https://bbs.youkuaiyun.com/topics/392114578?page=1
var str = "01abc23中文4567中ad文89中文";
str=str.replace(/[^\x00-\xff]/g,"$&\x01").replace(/.{10}\x01?/g,"$&\n").replace(/\x01/g,"");
alert(str);
\xnn 匹配ASCII代码中十六进制代码为nn的字符
[^\x00-\xff]
表示匹配非单字节的字符,例如汉字,汉字符号……
单字节字符包括英文字母,数字,英文符号……排除这些剩下的也就是汉字和其他文字了
定义和用法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
语法
stringObject.replace(regexp/substr,replacement)
eplacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。
字符 | 替换文本 |
---|---|
$1、$2、...、$99 | 与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。 |
$& | 与 regexp 所有相匹配的子串。 |
$` | 位于匹配子串左侧的文本。 |
$' | 位于匹配子串右侧的文本。 |
$$ | 直接量符号。 |