文字列に数字とアルファベットのみが含まれているかどうかを確認するにはどうすればよいですか?は英数字ですか?
ASCIIの英数字を確認したい場合は、"^[a-zA-Z0-9]*$"
を試してください。 String.matches(Regex)
でこのRegExを使用します。文字列が英数字の場合はtrueを返し、そうでない場合はfalseを返します。
public boolean isAlphaNumeric(String s){
String pattern= "^[a-zA-Z0-9]*$";
return s.matches(pattern);
}
役立つ場合は、正規表現の詳細についてこちらをお読みください: http://www.vogella.com/articles/JavaRegularExpressions/article.html
ユニコード互換性を保つには:
^[\pL\pN]+$
どこ
\pL stands for any letter
\pN stands for any number
パターン のドキュメントを参照してください。
US-ASCIIアルファベット(a-z、A-Z)を想定すると、\p{Alnum}
を使用できます。
行にそのような文字のみが含まれていることを確認する正規表現は、"^[\\p{Alnum}]*$"
です。
空の文字列にも一致します。空の文字列を除外するには:"^[\\p{Alnum}]+$"
。
文字クラスを使用します。
^[[:alnum:]]*$
Pattern pattern = Pattern.compile("^[a-zA-Z0-9]*$");
Matcher matcher = pattern.matcher("Teststring123");
if(matcher.matches()) {
// yay! alphanumeric!
}
[0-9a-zA-Z] +をonly alpha and num with one char at-least
に試してください。
変更が必要な場合があるので、テストする
http://www.regexplanet.com/advanced/Java/index.html
Pattern pattern = Pattern.compile("^[0-9a-zA-Z]+$");
Matcher matcher = pattern.matcher(phoneNumber);
if (matcher.matches()) {
}