我想在我的一个文本字段上设置验证正则表达式。 示例输入如下所示:
1364-lqap-10926
验证公式为4位数字,短划线,4个字母,短划线,5位数(总长度验证= 15)。
我尝试使用\d{4})-([a-z]*[a-z])-\d{5}
,但不需要的值也会匹配。
您能否建议如何修复正则表达式?
答案 0 :(得分:1)
正则表达式:
/[0-9]{4}-[a-z]{4}-[0-9]{5}/
[0-9]{4}
:匹配四个数字
\-
:匹配-
[a-z]{4}
:匹配范围a到z的四个字母
答案 1 :(得分:1)
你要问的正则表达式非常简单,你应该通过分析这个正则表达式来学习正则表达式。
遵循您行为的正则表达式是:
'/\d{4}-[a-zA-Z]{4}-\d{5}/'
说明:
4数字
\d{4}
意味着你想要4个“\ d”出现,这是一个数字
4 Alpha
由于num不包含在alpha中,因此您将搜索任何恰好为4的字母:
[a-zA-Z]{4}
5数字
与4个数字相同,但括号中有5而不是4(\ d {5})
答案 2 :(得分:1)
你需要检查锚点(^
和$
强制检查字符串的开头和结尾),而不仅仅是模式。
^\d{4}-[a-z]{4}-\d{5}$
与i
选项一起使用以忽略字母大小写。
示例代码:
var re = /^\d{4}-[a-z]{4}-\d{5}$/i;
var str = '1234-abcd-12345';
if (re.test(str)) {
alert("found");
}