<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script>
var result = (new RegExp("/^[\u4e00-\u9fa5]$/")).test("所");
console.log(result);
</script>
</head>
<body>
</body>
</html>
为什么输出的是false?文件用vim :set fileencoding 确认是用UTF-8编码的
PHPz2017-04-10 14:33:18
var result = (new RegExp("^[\\u4e00-\\u9fa5]$")).test("所");
console.log(result);
高洛峰2017-04-10 14:33:18
跟 vim 没关系,本来结果就是 false
,在 console 里打印一下 new RegExp("/^[\u4e00-\u9fa5]$/")
就知道了。
天蓬老师2017-04-10 14:33:18
var result = (new RegExp("^[\\u4e00-\\u9fa5]$")).test("所");
或者
var result = /^[\u4e00-\u9fa5]$/.test("所");