This question already has answers here:
Javascript date regex DD/MM/YYYY
(12个答案)
4年前关闭。
是否可以在JavaScript中使用正则表达式来验证多种格式的日期,例如DD-MM-YYYY或DD.MM.YYYY或DD/MM/YYYY等?我需要所有这些都放在一个正则表达式中,但我对此并不满意。到目前为止,我已经提出了:DD-MM-YYYY的
或者更好的方法是,匹配第一个分隔符的字符类,然后将其捕获为组
(12个答案)
4年前关闭。
是否可以在JavaScript中使用正则表达式来验证多种格式的日期,例如DD-MM-YYYY或DD.MM.YYYY或DD/MM/YYYY等?我需要所有这些都放在一个正则表达式中,但我对此并不满意。到目前为止,我已经提出了:DD-MM-YYYY的
var dateReg = /^\d{2}-\d{2}-\d{4}$/;
。我只需要验证日期格式,而不需要验证日期本身。 最佳答案
您可以使用字符类([./-]
),以便分隔符可以是任何已定义的字符
var dateReg = /^\d{2}[./-]\d{2}[./-]\d{4}$/
或者更好的方法是,匹配第一个分隔符的字符类,然后将其捕获为组
([./-])
,并使用对捕获的组\1
的引用来匹配第二个分隔符,这将确保两个分隔符都相同:var dateReg = /^\d{2}([./-])\d{2}\1\d{4}$/
"22-03-1981".match(dateReg) // matches
"22.03-1981".match(dateReg) // does not match
"22.03.1981".match(dateReg) // matches
09-20 07:57