javascript - 如何编写正则表达式进行日期格式验证?

标签 javascript regex regex-group

我编写了如下所示的正则表达式:

/^(\d{4}\-\d\d\-\d\d)|(\d{4}\-\d\d\-\d\d([tT][\d:\.]*){1})([zZ]|([+\-])(\d\d):?(\d\d))?$/.test("1995-01-01")

它工作正常,但即使我给出错误的格式也会返回 true 作为值,请参阅下面的屏幕截图:

tt

最佳答案

试试这个:

const regex = /([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$)/;

console.log(regex.test('1995-01-01')) //true
console.log(regex.test('1995-01-016')) //false

enter image description here

关于javascript - 如何编写正则表达式进行日期格式验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56646408/

相关文章:

javascript - 将用户链接到 chrome 标志页面

javascript - 使用正则表达式拆分的字符串以 >=|<=|=|<|>|\!= 和字符串加增量值

regex - Bash 正则表达式模式匹配 : How To Use Variables Inside of Pattern Variable?

javascript - Highcharts 分组列标签

javascript - 修改正则表达式密码检查器

JavaScript:为什么我的对象属性等于未定义?

正则表达式在捕获组后替换为数字?

java - 正则表达式 - 如何丢弃匹配

python - 正则表达式读取文件并返回Python文件内部匹配模式后的第一行

javascript - 如何从 javascript 正则表达式匹配模式中提取子模式