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

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

如何使輸入密碼至少需要一個特殊字符(包括括號)

如何使輸入密碼至少需要一個特殊字符(包括括號)

jeck貓 2022-10-21 10:49:01
我想知道如何將帶有括號的特殊字符部分(如 {} [] () 和其他內容(如“')添加到我在下面嘗試的唯一字符中,但由于某種原因,當我添加另一個字符時它停止工作.<-- works but does not have any brackets or quotes for special character--><form acton = "#">          <input type="password" id="newPass" required      pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*?[0-9])(?=.*?[!@#$%^&*+`~=?\|<>/]).{8,}"    <button>submit</button></form>上面的部分有效,但沒有引號或更多特殊字符下面的代碼有括號但不起作用<-- does not work (if you do not enter special character user will be able to submit but it does not have any brackets --><form acton = "#">          <input type="password" id="newPass" required      pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*?[0-9])(?=.*?[~`!@#$%^&*()-_=+[]{};:'.,"\|/?><]).{8,}"    <button>submit</button></form>這也不起作用(來自答案)<form acton = "#">          <input type="password" id="pass" required      pattern="(?=.*\d)(?=.*[a-z])(?=.*?[0-9])(?=.*?[~`!@#$%\^&*()\-_=+\[\]{};:\'.,\"\\|/?\>\<]).{4,}">    <button>submit</button></form>我正在尋找一個使底部(帶括號的那個和我包括的所有特殊字符)有效的答案。
查看完整描述

3 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

因為它是正則表達式,所以里面的所有字符[.....]都是允許的,所以你應該在那里加上括號。您可以使用轉義字符來做到這一點(因為括號在正則表達式中起作用)。所以只需將\]and添加\[到里面允許的字符[.....]。


嘗試:


<input type="password" name="pw" pattern="(?=.*?[#?!@$%^&*-\]\[])"

順便說一句.. 我建議使用正則表達式備忘單,它將在驗證任務中幫助您很多。


至于你的編輯:


和需要逃脫"。'雖然\" \'不起作用,但您可以使用它們\x27,它們是ascii 表中的和\x22的十六進制表示。"'


嘗試:


<form acton = "#">      

        <input type="password" id="pass"  required pattern = "(?=.*\d)(?=.* 

     [a-z])(?=.*?[0-9])(?=.*?[~`!@#$%\^&*()\-_=+[\]{};:\x27.,\x22\\|/?><]).{4,}">


        <button>submit</button>


</form>


查看完整回答
反對 回復 2022-10-21
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

\]如果在模式搜索期間需要匹配正則表達式(例如 )字符,您應該轉義它們。另外,請參閱現有答案:

密碼中的大括號和方括號

以下對我有用,希望它對你有用:(我只是添加了轉義字符)

   <input type="password" id="newPass" required
      pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*?[0-9])(?=.*?[!@#$%^&*+`~'=?\|\]\[\(\)\-<>/]).{8,}">


查看完整回答
反對 回復 2022-10-21
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

你實際上非常接近。最大的錯誤是:

你應該escape在里面的一些特殊字符character group并且你應該有hyphen as the last character(否則它是一個范圍)。

這是您要求的 RegExp:

<input type="password" id="pass"  required pattern = "(?=.*\d)(?=.*[a-z])(?=.*?[0-9])(?=.*?[~`!@#$%^&amp;*()_=+\[\]{};:&apos;.,&quot;\\|\/?&gt;&lt;-]).{4,}">

更新:我忘了對模式進行 html 編碼以直接在 html 中使用?,F在它應該可以工作了。


查看完整回答
反對 回復 2022-10-21
  • 3 回答
  • 0 關注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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