こんにちは。私です。
Kotlin頑張ってます。
さて今回は
Kotlinで全角カタカナのバリデーション貼りたいなって思う時あるじゃないですか。
あったんですよ。
色々調べたのですが
validate_katakana.kt
public class FullKanaTest {
public static void main(String[] args) {
//true
System.out.println("カタカナカナ" + isFullKana("カタカナカナ"));
//false
System.out.println("カタカナじゃないよ" + isFullKana("カタカナじゃないよ"));
}
public static boolean isFullKana(String str) {
return Pattern.matches("^[ァ-ヶー]*$", str);
}
}
や
/^([ァ-ン]|ー)+$/
の正規表現使えばできるよ!!ってめっちゃ書いてました。
いや、できん。
色々調べて使ってやってみたのですが、どうも理想の動きをしていない…。なんで…。。
これだ!!
regular_expression_katakana.kt
val katakana = "カタカナカナ"
if(katakana.matches("^[\\u30A0-\\u30FF]+$".toRegex())){
//true
//全てカタカナだった場合入ります
}else{
//false
//カタカナじゃない文字が含まれていたらこっち
}
と上記の書き方でやりたいことができました!やったね!!
まとめ
名前のフリガナとかで必要な場面は多いかと思います。
全角のカタカナのバリデーションがこっちで広まるといいな!
では!皆様良いValidationライフを٩( 'ω' )و