Javascript匹配字符并在字符之间添加空格

Javascript匹配字符并在字符之间添加空格,javascript,regex,Javascript,Regex,我有以下检测汉字的代码: function test(){ var str= '黑色大衣'; var re1 = new RegExp("^[\u4E00-\uFA29]*$"); //Chinese character range alert(str + ' ' + re1.test(str)); } test(); 你可以在这里测试 现在我有这样的字符串: this is some English text中文字幕 我需要一种方法来检测上面的字符串是否包含中文字

我有以下检测汉字的代码:

function test(){
    var str= '黑色大衣';
    var re1 = new RegExp("^[\u4E00-\uFA29]*$"); //Chinese character range 
    alert(str + ' ' + re1.test(str));
}
test();
你可以在这里测试

现在我有这样的字符串:

this is some English text中文字幕
我需要一种方法来检测上面的字符串是否包含中文字符,并在英文字符和中文字符之间插入空格。像这样:

this is some English text 中文字幕
但我不知道如何做到这一点。所以我的问题是,如何检测并插入中英文字符之间的空格


谢谢

你可以用另一种方法来解决这个问题

  • 检测ASCII字母和
  • 在捕获的组后插入空格
  • 你可以做:

    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"
    

    对非常感谢。工作完美,我会尽快接受你的答复,一旦期限到期:)