方法一:仅判断是否含有汉字

function isChina(s) {
	var reg = new RegExp("[\\u4E00-\\u9FFF]+", "g");
	if (reg.test(s)) {
		alert("包含汉字!");
	} else {
		alert("没有包含汉字!");
	}
}

function isChinese(str) {
	var filter = /[\u4E00-\u9FA5\uF900-\uFA2D]{1,}/;
	if (filter.test(str)) {
		console.log("存在汉字");
	} else {
		console.log("不存在汉字");
	}
}

//以上两个不同的正则差别:
//这里仅仅加上了\u0020,因为\u0020代表空格。

方法二:判断是否含有中文字符(包括汉字及中文的标点符号)

function isHaveChina(str) {
	if (escape(str).indexOf("%u") < 0) {
		alert("没有包含中文");
	} else {
		alert("包含中文");
	}
}

注:escape对字符串进行编码,字符值大于 255 的以 %u··· 格式存储,字符值大于 255 的恰好是非英文字符

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐