簡體   English   中英

如何使用正則表達式驗證密碼是否允許至少4位數字和1個字符而沒有特殊字符?

[英]How to validate a password allows at least 4 digits and 1 character without special character using regular expression?

如何使用正則表達式驗證密碼是否允許至少4位數字和1個字符而沒有特殊字符?

密碼有效格式:1234a或6778B或67A89(不包含@ $%^&* /之類的特殊字符)

最大密碼長度:5個字符長

有人可以幫我怎么做嗎?

謝謝。

你想要的圖案

  • 任何數量的數字
  • 然后一封信
  • 任何數量的數字
  • 附加限制,因為總長度不得超過5個字符

模式可能是這樣的:(使用正向查找來檢查數字-字母-數字組合,然后檢查5個字符以檢查長度)

/^(?=[0-9]*[a-zA-Z][0-9]*$).{5}$/

這個正則表達式應該工作:

^(?=(.*?[0-9]){4})(?=.*?[a-zA-Z])[0-9A-Za-z]{5}$

由於我們僅允許在密碼中使用[0-9A-Za-z]{5}符號,因此無需在此處檢查特殊字符。

在線演示: http//regex101.com/r/mB6sS5

說明:

  • (?=(.*?[0-9]){4}) -先行檢查是否存在至少4個數字
  • (?=.*?[a-zA-Z]) -先行檢查是否存在至少1個字母
  • [0-9A-Za-z]{5}僅允許字符類中最大長度為5的符號
^[0-9]{4}[A-Za-z]{1}$

這將使您輸入四個數字(0-9)和1個字母(az和AZ),例如1234a ....希望這是您要查找的答案。

以下是用於執行所需檢查的javascript代碼

var regex =^(?=(.*?[0-9]){4})(?=.*?[a-zA-Z])[0-9A-Za-z]{5}$; 
var input = "1234B"; 
if(regex.test(input)) {
    alert(matches[match]);
} else 
{
  alert("No matches found!");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM