Android : 验证半角日语字符

Android : Validate half-width Japanese character

这个问题可能已经被问过好几次了,但我没有找到合适的答案,所以我发布了这个问题。我想要做的是验证在编辑文本字段中输入的日文文本,以仅允许半角日文字符。我只想在用户输入文本并点击某个操作按钮后检查验证。

我创建了方法来验证输入的字符是否为 half-width kana:

public boolean validate(String c) {
    Pattern pattern = Pattern.compile("[\uff61-\uff9f]");
    return pattern.matcher(c).matches();
}

我了解到您要检查的是仅由 half-width 假名组成的书面文本,是吗?为此,在您单击验证按钮的 onClick() 中,编写如下内容:

for (int i = 0; i < textToValidate.length(); i++) {
    if (validate(textToValidate.charAt(i))) {
        continue;
    } else {
        System.out.println("Text wasn't written in half-width kana.");
        return;
    }
}
System.out.println("Text was written in half-width kana.");

如果我的回答对您有帮助,请告诉我。 ;)

好吧,我遇到了很多解决方案,这个对我有用。 基本上,我有一个日语 half-width 验证正则表达式并将其与我的字符串进行比较。

val halfWidthRegex = "^[ァ-ン゙゚]+\s?[ァ-ン゙゚]+$"

if(myText?.matches(halfWidthRegex.toRegex()))
  // Valid halfwidth text
else // Invalid halfwidth text.