我正在尝试使用 javascript 运行正则表达式检查,以确保字符串遵循模式:
NNNN-NN-NN
(其中 N = 0-9 的任何数字)我需要确保破折号也到位。
因此,任何 4 个数字后跟一个破折号,然后是任何 2 个数字,然后是一个破折号,然后是任意两个数字。
我如何将其写为正则表达式?
我正在尝试使用 javascript 运行正则表达式检查,以确保字符串遵循模式:
NNNN-NN-NN
(其中 N = 0-9 的任何数字)我需要确保破折号也到位。
因此,任何 4 个数字后跟一个破折号,然后是任何 2 个数字,然后是一个破折号,然后是任意两个数字。
我如何将其写为正则表达式?
这里是:
^[0-9]{4}-[0-9]{2}-[0-9]{2}$
最简单的正则表达式就是:
/^\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'];
\d{4}-\d{2}-\d{2} 我认为这相当简洁
\d{4}(-\d{2}){2}
我认为上面的正则表达式是合适的。