2015年8月4日 星期二

[Regex] 使用Regular Expression 驗證非數字或字母

原本想用Apache Common Lang的StringUtils.isAplanumeric(),來驗證非數字或字母,但是字串有中文卻回傳true

stackoverflow看到簡單的正規表示式解法,可驗證任一非數字或字母的字元。
String userIDNotLogin= "未登入";
String userIDLogin = "U12345";

Pattern notAlphanumeric = Pattern.compile("[^a-zA-Z0-9]");

notAlphanumeric.matcher(userIDNotLogin).find(); → True
notAlphanumeric.matcher(userIDLogin ).find(); → False