Как обнаружить не-ascii символы в строке? - PullRequest
3 голосов
/ 28 апреля 2011

Как я могу проверить, имеет ли строка какой-либо другой символ, кроме перечисленных здесь: http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters

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

Любое предложение приветствуется.

Ответы [ 2 ]

4 голосов
/ 28 апреля 2011

Это может быть очень легко сделано (без циклического прохождения символа за символом) с использованием регулярных выражений.

var reg:RegExp = /^[\x20-\x7E]*$/;
var str1:String = "The quick brown fox jumps over the lazy dog.";
var str2:String = "The quick bröwn fox jumps over the läzy dög.";

trace(reg.test(str1)); //true
trace(reg.test(str2)); //false
2 голосов
/ 28 апреля 2011
function isASCIIPrintableString(str:String):Boolean {
    for (var i:int = 0; i < str.length; i++) {
        var ch:Number = str.charCodeAt(i);
        if (ch < 32 || ch > 126) {
            return false;
        }
    }

    return true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...