我有以下代码可以检测中文字符:
function test(){
var str= '黑色大衣';
var re1 = new RegExp("^[\u4E00-\uFA29]*$"); //Chinese character range
alert(str + ' ' + re1.test(str));
}
test();
你可以在这里测试http://jsfiddle.net/of79z9gg/
现在我有这样的字符串:
this is some English text中文字幕
我需要一种方法来检测上面的字符串何时有中文字符,并在英文和中文字符之间插入一个空格。像这样:
this is some English text 中文字幕
但我不知道如何实现这一目标。所以我的问题是,如何检测英文和中文字符之间的空格?
由于
答案 0 :(得分:2)
你可以反过来解决这个问题。
你可以这样做:
var s = 'this is some English text中文字幕';
s = s.replace(/([\x00-\xFF]+)/g, "$1 ");
//=> this is some English text 中文字幕
编辑:如果您想避免插入尾随空格,那么前瞻性正则表达式:
var s = 'this is some English text中文字幕 abcd'
s = s.replace(/([\x00-\xFF]+)(?=[^\x00-\xff])/g, "$1 ");
//=> "this is some English text 中文字幕 abcd"