如何检测字符串中的非ascii字符?

时间:2011-04-28 11:39:14

标签: flash flex actionscript-3

如何检查字符串是否包含除此处列出的字符之外的任何其他字符:http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters

我想知道该字符串是否以英语以外的任何其他语言输入。在字符串中查找特殊字符是检测非英文字符的最佳方法吗?

任何建议表示赞赏。

2 个答案:

答案 0 :(得分:4)

使用正则表达式可以很容易地完成(并且不会逐个字符地循环)。

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

答案 1 :(得分:2)

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;
}