如何编写这个javascript正则表达式?

时间:2012-05-21 14:23:31

标签: javascript regex

我正在尝试使用javascript运行正则表达式检查,以确保该字符串遵循该模式:

NNNN-NNNN

(其中N =任意数字0-9)我需要确保破折号也就位。

所以,任何4个数字后跟一个破折号,后跟任意2个数字,后跟破折号,后跟任意两个数字。

如何将其写为正则表达式?

4 个答案:

答案 0 :(得分:8)

这是:

^[0-9]{4}-[0-9]{2}-[0-9]{2}$

答案 1 :(得分:4)

最简单的正则表达式只是:

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

[\d\d短于\d{2}]

你不能忘记锚定正则表达式,否则它将匹配包含该模式的所有字符串,而不仅仅是那些与之完全匹配的字符串。

为了获得额外的好处,如果您打算随后提取这三个组件,请使用:

var re = /^(\d{4})-(\d\d)-(\d\d)$/;
var test = "1234-56-78";
var vals = test.match(re);

// vals = ['1234-56-78', '1234', '56', '78'];

答案 2 :(得分:0)

\d{4}(-\d{2}){2}

我认为上述正则表达式是合适的。

答案 3 :(得分:0)

\ d {4} - \ d {2} - \ d {2} 我认为这是相当简洁的