4

これを試してみましたが、UTF-8 と ASCII の両方で true を返します。

 console.log(/[^w/]+/.test("abc123")) //true
 console.log(/[^w/]+/.test("ابت")) //true
4

1 に答える 1

14

/[^\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 文字セットに一致する範囲に対してこの例で使用される16 進表記 (リストはこちら) です。範囲を指定するという点でと機能的には同じですが、信頼性の高い範囲設定のために 16 進数表記を使用しています007F\x00-\x7Fa-z

\wと同じ「単語」文字に一致します。[a-z0-9_]

于 2013-08-02T13:21:53.257 に答える