Regex测试是否只有ASCII字符

Regex to test if only ASCII characters

本文关键字:ASCII 字符 测试 是否 Regex      更新时间:2023-09-26

我已经尝试过了,但对于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是本例中用于范围007F的十六进制表示法(此处列出),以匹配完整的ASCII字符集。'x00-'x7F在功能上与a-z相同,因为它指定了一个范围,但我们使用十六进制表示法进行可靠的测距

'w匹配"word"字符,这与[a-z0-9_] 相同