无法在javascript中获得正则表达式

时间:2015-04-28 10:00:20

标签: javascript jquery regex

我想在我的一个文本字段上设置验证正则表达式。 示例输入如下所示:

1364-lqap-10926

验证公式为4位数字,短划线,4个字母,短划线,5位数(总长度验证= 15)。

我尝试使用\d{4})-([a-z]*[a-z])-\d{5},但不需要的值也会匹配。

您能否建议如何修复正则表达式?

3 个答案:

答案 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选项一起使用以忽略字母大小写。

See demo

示例代码:

var re = /^\d{4}-[a-z]{4}-\d{5}$/i; 
var str = '1234-abcd-12345';
     
if (re.test(str)) {
   alert("found");
}