簡體   English   中英

javascript 至少一個數字和一個大寫字母的正則表達式

[英]javascript regular expression for atleast one number and one uppercase letter

檢查給定字符串是否至少包含一個數字和一個大寫字母的正則表達式是什么? 提前致謝

我這樣做

function validate_pass{
var var_password = document.getElementById("npassword").value;
else if (!(/^(?=.*\d)(?=.*[A-Z]).+$/).test(var_password))){
    msg = "Password should contain atleast.";

    showErrorMsgPassword(msg);
    $('#npassword').val('');
    $('#cpassword').val('');
    return false;
  }

else return true;

如果想要測試一個字符串以查看它是否具有至少一位數字和至少一個大寫字母(以任何順序排列)並且允許任何其他字符,那么這將起作用:

var str = "abc32Qdef";
var re = /[A-Z].*\d|\d.*[A-Z]/;
var good = re.test(str);​

這里有一堆測試用例的工作演示: http://jsfiddle.net/jfriend00/gYEmC/

自從我這樣做以來已經有一段時間了,而且我相當確定有比這更有效的方法。 您將需要使用正面前瞻,但應該有一種方法可以從其中刪除通配符:

如果符合條件,此正則表達式 ( /^(?=.*[AZ])(?=.*\d).*$/將返回整個密碼。

('a3sdasFf').match(/^(?=.*[AZ])(?=.*\d).*$/);

像下面這樣:

/(\d.*[A-Z])|([A-Z].*\d)/

測試字符串是否匹配:

var str = "abc32dQef";
var is_matched = /(\d.*[A-Z])|([A-Z].*\d)/.test(str);

暫無
暫無

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

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