我試着去驗證一個字符串,只允許字母,數字和以下字符:驗證字符串有沒有非法字符
!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~
我試圖這樣做,但它不工作,讓我在正則表達式不輸入字符。我仍然很新的Java和類似的工作在JavaScript中,但我不知道這是怎麼回事。我認爲它的運行就好像它找不到任何提到的字符那麼它將返回四個字符。
Pattern allowedCharacters = Pattern.compile("[A-Za-z0-9!\"#$%&'()*+,.\\/:;<=>[email protected][\\]^_`{|}~-]+$]");
if (!allowedCharacters.matcher(pw).find()){
return 4;
}
任何幫助表示讚賞。由於
編輯:
我也試過:
if (pw.matches("^[A-Za-z0-9!\"#$%&'()*+,.\\/:;<=>[email protected][\\]^_`{|}~-]+$]")){
return 4;
}
和
if (!pw.matches("[A-Za-z0-9!\"#$%&'()*+,.\\/:;<=>[email protected][\\]^_`{|}~-]+$]")){
return 4;
}
您認爲這段代碼正在做什麼或應該做什麼? – Pshemo
閱讀第二段。我說了我認爲它在做什麼... – Kierchon
完全重複,昨天你問的同一個問題[Duplicate](http://stackoverflow.com/questions/21914179/identifying-special-non-alphanumeric-characters-in-a-string/21915172#21915172)。 – sln