我有以下代码可以检测中文字符:
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 中文字幕
但我不知道如何实现这一目标。所以我的问题是,我如何检测然后坚持英文和汉字之间的空格?
谢谢
你可以用另一种方式解决这个问题。
- 检测 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"