我正在尝试使用javascript运行正则表达式检查,以确保该字符串遵循该模式:
NNNN-NNNN
(其中N =任意数字0-9)我需要确保破折号也就位。
所以,任何4个数字后跟一个破折号,后跟任意2个数字,后跟破折号,后跟任意两个数字。
如何将其写为正则表达式?
答案 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} 我认为这是相当简洁的