我已经尝试过了,但它对 UTF-8 和 ASCII 都返回 true:
console.log(/[^w/]+/.test("abc123")) //true
console.log(/[^w/]+/.test("ابت")) //true
我已经尝试过了,但它对 UTF-8 和 ASCII 都返回 true:
console.log(/[^w/]+/.test("abc123")) //true
console.log(/[^w/]+/.test("ابت")) //true
我认为您的意思是/[^\w]+/
,但据我所知,您真正想要的是:
console.log(/^[\x00-\x7F]+$/.test("abc123")) //true
console.log(/^[\x00-\x7F]+$/.test("abc_-8+")) //true
console.log(/^[\x00-\x7F]+$/.test("ابت")) //false
如果您实际上并不是要检查完整的 ASCII 集,则可以使用:
console.log(/^[\w]+$/.test("abc123")) //true
console.log(/^[\w]+$/.test("abc_-8+")) //false
console.log(/^[\w]+$/.test("ابت")) //false
关于 \x 表示法
\xFF
是此示例中用于匹配完整 ASCII 字符集的范围的十六进制表示法(此处列出)。在功能上与指定范围相同,但是我们使用十六进制表示法来进行可靠的范围00
7F
\x00-\x7F
a-z
\w
匹配 'word' 字符,与[a-z0-9_]