Javascript - 正则表达式来验证日期格式

标签 javascript regex

有没有办法在 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/

相关文章:

javascript - 根据值更改 <select> 的颜色 - 仅限 CSS(?)

javascript - 将值插入到光标所在的 TEXTAREA 中

javascript - 如何使用 npm 国家代码

javascript - 如何使用 beautiful soup 将 javascript 添加到 html 中?

javascript - 条形图未渲染、Recharts、React

java - 从字符串中获取数字值

python - 匹配结束 HTML 标签的正则表达式

PHP 正则表达式 - 1 个或多个整数的值

Java 扫描器分隔符检测到 ';',但未检测到 '\n'

正则表达式包含一件事但排除另一件事