带有至少1个数字和1个字符且固定长度为11的字母数字字符串的正则表达式

时间:2017-06-13 17:57:58

标签: javascript jquery regex validation

我需要正则表达式匹配长度为11个字符的字母数字字符串,但该值必须至少包含1个字符和1个数字。

使用了组合 Regex for alphanumeric with at least 1 number and 1 character

即。 /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/

What is the regex to match an alphanumeric 6 character string?

即。 ^[a-zA-Z0-9]{6,}$

使用这样的OR(||)运算符

//regex code
var str = "";
if ($.trim($("input[id$='txtBranchName']").val()) != "")
    str = $.trim($("input[id$='txtBranchName']").val());
var reg_exp = /^(?:[0-9]+[a-z]|[a-z]+[0-9])[a-z0-9]*$/i; // /^[a-zA-Z0-9]{11,}$/;//^(\d)(?:\1+)?$/; // new RegExp('([0-9]){6}');
var reg_exp2 = /^[a-zA-Z0-9]{11,11}$/;
if (!reg_exp.test(str) || !reg_exp2.test(str)) {
    $("span[id$='lblError']").css("color", "red");
    $("span[id$='lblError']").html($("span[id$='lbl_PayeeInformation_IFSCNo']").html()).show();
    $("input[id$='txtBranchName']").focus();
    returned = false;
    return false;
}
//end regex code

但如果我在一个正则表达式中获得它会很棒。

1 个答案:

答案 0 :(得分:3)

您需要将两者结合使用,并使用{11}完全匹配11个字符。

/^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{11}$/

其中:

  1. (?=.*\d)断言该位置跟随任意位置的数字(\d等于[0-9])。
  2. (?=.*[a-zA-Z])声称该位置在任何位置都是字母表。
  3. [a-zA-Z0-9]{11}仅在长度为11个字符且在字符类中时匹配。
  4. ^ and $是开始和结束锚点,有助于检查整个字符串。