亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 java 在字符串中只允許 !@#$%^&*

如何使用 java 在字符串中只允許 !@#$%^&*

慕森卡 2023-02-23 10:27:32
我只想允許上面提到的特殊字符。我試過這個private final Pattern hasSpecialChar = Pattern.compile("[!@#$%^&*]");if (!hasSpecialChar.matcher(password).find()) {    return "String allows only !@#$%^&* special characters";}但它也允許其他特殊字符。任何人都可以幫助我創建一個合適的正則表達式。
查看完整描述

3 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

嘗試這個:


private final Pattern hasSpecialChar = Pattern.compile("[^A-Za-z0-9!@#$%^&*]+");

if (hasSpecialChar.matcher(password).find()) {

    return "String allows only !@#$%^&* special characters";

}


查看完整回答
反對 回復 2023-02-23
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

Mabe 下面的代碼片段將幫助您:


private final Pattern hasSpecialChar = Pattern.compile("[^!@#$%^&*]");

if (hasSpecialChar.matcher(password).find()) {

        return "String allows only !@#$%^&* special characters";

}


查看完整回答
反對 回復 2023-02-23
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

您的代碼片段正在查看特殊字符是否至少出現一次。


對此的一個簡單修正是否定檢查——即尋找至少一個不在可接受字符集中的非特殊字符:


private final Pattern hasSpecialChar = Pattern.compile("[^!@#$%^&*]");

if (hasSpecialChar.matcher(password).find()) {

    return "String allows only !@#$%^&* special characters";

}

請注意,此答案假定您只想允許這些特殊字符,而在輸出中不允許使用其他字母數字字符。


查看完整回答
反對 回復 2023-02-23
  • 3 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號