具有本地化的Android文本输入验证

时间:2014-12-03 19:45:56

标签: java android localization

我的Android应用程序中有一些文本字段需要仅限于字母(可能还有一些枚举的基本符号集,如“._-,!”等)。我的第一直觉是使用Java isLetter函数。但是我不知道这是否是本地化友好的 - 我的应用程序需要本地化为日语,以及其他语言,并且Android文档没有提供关于如何工作的提示(isLetter是否依赖于当前语言,或者所有已安装语言,或只是一些Unicode字符的白名单)。我知道我不能告诉Android键盘不允许表情符号输入,所以我能够在输入后检查文本字符串并接受它,如果它没问题,并拒绝它,如果表情符号(或其他人)错误被检测到。)

在Android中有一种普遍接受的方法吗?

1 个答案:

答案 0 :(得分:0)

isLetter应该做你需要的。这是一个例子:

public boolean isAlpha(String name) {
    char[] chars = name.toCharArray();

    for (char c : chars) {
        if(!Character.isLetter(c)) {
            return false;
        }
    }

    return true;
}

此外,日文字符仍然是字符,所以它们仍然可以工作。这样做的方法与编码有关。

  

字符串只是一系列字符(字符);一个字符串本身   完全没有编码。为了它的价值,替换它中的字符   上面有载体鸽。一样。一只信鸽没有   编码。也没有炭。

来自Check if String contains only letters

UTF-8 Encoding ; Only some Japanese characters are not getting converted