有没有办法在 JavaScript 中使用正则表达式来验证多种格式的日期,例如: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
关于Javascript - 正则表达式来验证日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388001/