正则表达式以验证模式

时间:2015-11-16 09:45:18

标签: javascript jquery

我需要的模式如下:

  • MA应该是字符串的前两个字符
  • 第三个字符应为连字符(-
  • 字符4到10可以是任何数字(0-9
  • 第十一个字符应为连字符(-
  • 字符12到15可以是任何数字(0-9

示例:

MA-1234567-1234

我试过这个:

/^(MA*)[0-9]{7}([0-9]{4})$/

2 个答案:

答案 0 :(得分:0)

几乎在那里你缺少分隔符的短划线,如果你不想提取任何信息,你就不需要这个副词。

正确的正则表达式是:

/^MA-[0-9]{7}-[0-9]{4}$/

编辑以满足新要求 要匹配两者:CW291291和MA-1234567-1234

使用竖管符号'|'两种模式匹配任何一种:

/^CW[\d]{6}|MA-[\d]{7}-[\d]{4}$/

答案 1 :(得分:0)

你正在使用的正则表达式缺少字符集之间的破折号,试试这个:

/^MA-\d{7}-\d{4}$/

请注意,要将其与输入框合并,您需要在keyup上对此Regex进行测试,如下所示:

var re = /^MA-\d{7}-\d{4}$/;
$('#code').keyup(function() {
    if (re.test(this.value)) {
        console.log('The code is valid...');
    }
});

Example fiddle