可能重複:
JAVA: check a string if there is a special character in it的Java:檢查字符串結尾或特殊字符開頭
我試圖創建一個方法來檢查密碼的開頭或結尾一個特殊的角色。還有一些其他的檢查,我已經設法編碼,但這似乎有點複雜。
我想我需要使用正則表達式來有效地做到這一點。我已經創建了一個方法來檢查是否有任何特殊字符,但我無法弄清楚如何修改它。
Pattern p = Pattern.compile("\\p{Punct}");
Matcher m = p.matcher(password);
boolean a = m.find();
if (!a)
System.out.println("Password must contain at least one special character!");
按照書我讀我需要使用^和$的圖案來檢查,如果它開始或特殊字符結束。我可以只添加兩個語句到現有的模式,或者我應該如何開始解決這個問題?
編輯:
好吧,我想我得到了非正則表達式的方法工作:
for (int i = 0; i < password.length(); i++) {
if (SPECIAL_CHARACTERS.indexOf(password.charAt(i)) > 0)
specialCharSum++;
}
http://stackoverflow.com/questions/1795402/java-check-a-string-if-there-is-a-special-character-in-it – 2012-03-04 18:34:13