2017-06-13 28 views
1

11文字の英数字の文字列を一致させるには正規表現が必要ですが、その値に少なくとも1文字と1文字の両方が含まれている必要があります。 (||)を使用して、ORによって Regex for alphanumeric with at least 1 number and 1 character英数字の文字列の正規表現11文字以上の固定長の正規表現11

すなわち/^(?=.*[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,}$

の組み合わせを使用し

この

//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つの正規表現でそれを得るのは素晴らしいだろう。

答えて

3

正確に11文字一致するには、両方を組み合わせて{11}を使用する必要があります。

  1. (?=.*\d)

    は位置(\d[0-9]と等価である)任意の位置に数字を次のことを主張:

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

  2. (?=.*[a-zA-Z])どの位置でもアルファベットの後に位置すると主張します。
  3. [a-zA-Z0-9]{11}は、長さが11文字で、文字クラス内でのみ一致します。
  4. ^ and $は、文字列全体のチェックに役立つ開始および終了アンカーです。
+1

@Pranavさん、ありがとう –