Javascript регулярное выражение для отклонения не ASCII-американских символов - PullRequest
1 голос
/ 12 августа 2010
^[^\x00-\x1F\x7F-\xFF]+$

Это регулярное выражение правильно не сможет соответствовать строке, содержащей непечатаемые (шестнадцатеричные 00-1f) или расширенные символы ASCII (шестнадцатеричные)80-FF), но, в отличие от PHP, пропускает не-ASCII-символы utf-8.(например, 日本 واستقراره हिन्दी ދިވެހިބަސް ગુજરાતી 한)

Если посмотреть на страницу википедии на UTF-8, все они должны попасть в диапазон 80-ff.Кто-нибудь знает, что мне не хватает?

Кроме того, если бы вы могли объяснить, как игнорировать цитируемый текст, вы бы навсегда стали моим героем.

1 Ответ

8 голосов
/ 12 августа 2010

Хмм ... вместо отклонения диапазонов байтов, попробуйте сопоставить действительные символы Юникода, например ::

^[\u0020-\u007e]+$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...