为什么Javascript RegExp测试为此字符的unicode值提供"false"?

Zem*_*nik 2 javascript regex unicode

我需要从字符串中删除"↵"字符,但是我从RegExp中得到了一些奇怪的行为.有人可以解释一下:

var str = "?Since we are starting our webservice...";

alert(str.charAt(0))
alert(str.charCodeAt(0));

alert(/\u8629/.test("?"));
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/SXYAn/1/

字符串对象方法告诉我"↵"的unicode代码是8629,但RegExp说不是这种情况.

she*_*m86 6

您将charCode作为十进制数返回,并且在regEx中进行测试时,您需要使用十六进制数.

8629 = 0x21b5.

我用这个搞清楚了.

  • 先生,您刚刚挽救了一个程序员的生命。与 RegExp 一起使用的正确 unicode 是 \u21b5。 (2认同)