Come posso verificare se una stringa contiene solo numeri e alfabeti, ad es. è alfanumerico?
Considerando che si desidera verificare caratteri alfanumerici ASCII, provare questo "^[a-zA-Z0-9]*$"
, utilizzare questo RegEx in String.matches(Regex)
restituirà true se è alfanumerico altrimenti restituirà falso .
public boolean isAlphaNumeric(String s){ String pattern= "^[a-zA-Z0-9]*$"; return s.matches(pattern); }
Aiuterà per ulteriori dettagli su regex leggere http://www.vogella.com/articles/JavaRegularExpressions/article.html
Per essere compatibile con Unicode:
^[\pL\pN]+$
dove
\pL stands for any letter \pN stands for any number
È il 2016 o più tardi e le cose sono andate avanti. Corrisponde a stringhe alfanumeriche Unicode:
^[\\p{IsAlphabetic}\\p{IsDigit}]+$
Vedere il riferimento (sezione “Classi per script Unicode, blocchi, categorie e proprietà binarie”). C’è anche questa risposta che ho trovato utile.
Vedi la documentazione di Pattern .
Supponendo l’alfabeto US-ASCII (az, AZ), potresti usare \p{Alnum}
.
Una regex per verificare che una riga contenga solo tali caratteri è "^[\\p{Alnum}]*$"
.
Ciò corrisponde anche alla stringa vuota. Per escludere una stringa vuota: "^[\\p{Alnum}]+$"
.
Usa le classi di caratteri:
^[[:alnum:]]*$
Pattern pattern = Pattern.compile("^[a-zA-Z0-9]*$"); Matcher matcher = pattern.matcher("Teststring123"); if(matcher.matches()) { // yay! alphanumeric! }
prova questo [0-9a-zA-Z] + only alpha and num with one char at-least
per only alpha and num with one char at-least
..
potrebbe aver bisogno di modifiche per testarlo
http://www.regexplanet.com/advanced/java/index.html
Pattern pattern = Pattern.compile("^[0-9a-zA-Z]+$"); Matcher matcher = pattern.matcher(phoneNumber); if (matcher.matches()) { }
Espressione alfanumerica al 100% (contiene solo caratteri alfanumerici, anche interi e caratteri solo alfanumerici)
ad esempio carattere speciale (non consentito) 123 (non consentito) asdf (non consentito)
Nome stringa = “^ [^] \ d * [a-zA-Z] [a-zA-Z \ d] * $”;