web-dev-qa-db-fra.com

Regex pour vérifier si une chaîne est strictement alphanumérique

Comment puis-je vérifier si une chaîne ne contient que des nombres et des alphabets, c.-à-d. est alphanumérique?

45
O__O

Considérant que vous voulez vérifier ASCII Caractères alphanumériques, essayez ce "^[a-zA-Z0-9]*$", utilisez ce RegEx dans String.matches(Regex), il retournera true s'il est alphanumérique, sinon il retournera false.

public boolean isAlphaNumeric(String s){
    String pattern= "^[a-zA-Z0-9]*$";
    return s.matches(pattern);
}

Cela vous aidera pour plus de détails sur regex read http://www.vogella.com/articles/JavaRegularExpressions/article.html

71
Raghav

Pour être compatible avec Unicode:

^[\pL\pN]+$

\pL stands for any letter
\pN stands for any number
23
Toto

Nous sommes en 2016 ou plus tard et les choses ont progressé. Cela correspond aux chaînes alphanumériques Unicode:

^[\\p{IsAlphabetic}\\p{IsDigit}]+$

Voir la référence (section "Classes pour les scripts Unicode, blocs, catégories et propriétés binaires"). Il y a aussi cette réponse que j'ai trouvée utile.

11
Johannes Jander

Voir la documentation de Pattern .

En supposant que l’alphabet US-ASCII (a-z, A-Z), vous pouvez utiliser \p{Alnum}.

Un regex pour vérifier qu'une ligne ne contient que de tels caractères est "^[\\p{Alnum}]*$".

Cela correspond également à une chaîne vide. Pour exclure une chaîne vide: "^[\\p{Alnum}]+$".

9
sudocode

Utiliser des classes de caractères:

^[[:alnum:]]*$
5
Igor Chubin
Pattern pattern = Pattern.compile("^[a-zA-Z0-9]*$");
Matcher matcher = pattern.matcher("Teststring123");
if(matcher.matches()) {
     // yay! alphanumeric!
}
3
Seth Malaki

essayez ceci [0-9a-zA-Z] + pour only alpha and num with one char at-least .. 

peut avoir besoin de modification afin de tester sur elle 

http://www.regexplanet.com/advanced/Java/index.html

Pattern pattern = Pattern.compile("^[0-9a-zA-Z]+$");
Matcher matcher = pattern.matcher(phoneNumber);
if (matcher.matches()) {

}
1
Dheeresh Singh

Regex 100% alphanumérique (il contient uniquement des caractères alphanumériques, pas même des entiers et des caractères uniquement alphanumériques)

par exemple caractère spécial (non autorisé) 123 (non autorisé) asdf (non autorisé)

1235asdf (autorisé)

String name = "^ [^]\d * [a-zA-Z] [a-zA-Z\d] * $";

0
Amit