2

私のアプリケーションはユーザーからユーザー ID を入力として受け取ります。ユーザー ID は英数字です。つまり、最初の文字だけが (az) で、他の部分は数値です。このタイプ (G34555 など) の入力を検証するにはどうすればよいですか?

4

3 に答える 3

3

正規表現を使用します。これは、最初の文字が大文字または小文字であると想定して行う必要があります。

 Pattern p = Pattern.compile("[a-zA-Z][0-9]+");

 Matcher m = p.matcher("some text you want");
 boolean isAlphaNum = m.matches();
于 2010-04-18T17:44:42.530 に答える
3

http://osdir.com/ml/Android-Developers/2009-11/msg02501.htmlは、より適切な解決策のようです。受け入れられない文字を入力することはできません。

リンクからのコード:

InputFilter filter = new InputFilter() {
    public CharSequence filter(CharSequence source, int start, int end,
    Spanned dest, int dstart, int dend) {
        for (int i = start; i < end; i++) {
            if (!Character.isLetterOrDigit(source.charAt(i))) {
                return "";
            }
        }
        return null;
    }
};

edit.setFilters(new InputFilter[]{filter});
于 2010-08-03T10:04:32.830 に答える
0

シンプルなstring機能で問題を解決しましたmatches

String str="mystring";

str.matches("[a-zA-Z][0-9]+");

于 2010-04-18T23:48:22.073 に答える