О поиске символов в тексте с AS3 - PullRequest
0 голосов
/ 17 декабря 2011

Я должен проверить текстовое поле в AS3, если есть символы вроде # $% @ ~ |{} [] / \ и т. д., т.е. найдите ненужные символы и удалите их из текстового поля.

Я использую функцию поиска AS3, которая работает с регулярными выражениями, но я не очень хорош в RegEx, поэтому кто-нибудь может мне помочь с этим?Мне бы хотелось регулярное выражение, чтобы функция поиска искала символы, указанные выше, и, если она найдет какой-либо из них, возвращает true.

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Следующий фрагмент удаляет определенные в черном списке символы (не рекомендуется):

Вариант 1: класс символов с черным списком.

text = text.replace(/[#$%@~|{}[\]/\\]+/g, '');

Но есть LOT других управляющих, знаков препинания и символов Юникода, которых вы, вероятно, также хотите избежать (например, [¥®^«±µ¼½¾] и т. Д. Вместо этого, скорее всего, лучше определить, какие символы вы хотите разрешить, а затем удалить все символы, которые НЕ те, которые разрешены.

Вариант 2. Класс отрицательных символов с белым списком.

Допустим, вы хотите разрешить все латинские буквы, цифры, пробелы, точки, тире, подчеркивания и двоеточия (т. Е. [A-Za-z0-9 .\-_:]). Вот фрагмент кода, который удалит всех персонажей, которых нет в белом списке:

text = text.replace(/[^A-Za-z0-9 .\-_:]+/g, '');
1 голос
/ 17 декабря 2011

Может быть более краткое регулярное выражение, но для символов, которые вы дали, попробуйте это.

var pattern:RegExp = /[#$%@~\|{}\[\]\\\/]/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...