具有至少 1 个数字和 1 个字符且固定长度为 11 的字母数字字符串的正则表达式
Posted
技术标签:
【中文标题】具有至少 1 个数字和 1 个字符且固定长度为 11 的字母数字字符串的正则表达式【英文标题】:Regex for alphanumeric string with at least 1 number and 1 character and a fixed length of 11 【发布时间】:2017-11-15 15:25:03 【问题描述】:我需要正则表达式来匹配长度为 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】:您需要将两者结合起来并使用 11
来精确匹配 11 个字符。
/^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9]11$/
地点:
(?=.*\d)
断言该位置跟在任何位置的数字后面(其中\d
等价于[0-9]
)。
(?=.*[a-zA-Z])
断言该位置在任何位置都遵循字母表。
[a-zA-Z0-9]11
仅在长度为 11 个字符且在字符类内时匹配。
^
and $
是帮助检查整个字符串的开始和结束锚点。
【讨论】:
以上是关于具有至少 1 个数字和 1 个字符且固定长度为 11 的字母数字字符串的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
R REGEX匹配-至少1个小写字母,1个数字,并且没有8个长度的特殊字符[重复]
包含至少 8 个字符和至少 1 个非字母数字字符的密码的正则表达式
正则表达式,用于包含至少8个字符和至少1个非字母数字字符的密码