我有这个正则表达式来检查日期输入:
/^[0-9]{2}-[0-9]{2}-[0-9]{4}$|^$/
我还需要它来确保遵循 MM-DD-YYYY 格式。
我已经尝试过这些,但它们不起作用。
/^[01-12]-[01-31]-[0-9]{4}$|^$/
/^['01'-'12']-['01'-'31']-[0-9]{4}$|^$/
我怎样才能让这个也检查以确保 MM 部分是 01-12 而 DD 部分只是
01-31?
我有这个正则表达式来检查日期输入:
/^[0-9]{2}-[0-9]{2}-[0-9]{4}$|^$/
我还需要它来确保遵循 MM-DD-YYYY 格式。
我已经尝试过这些,但它们不起作用。
/^[01-12]-[01-31]-[0-9]{4}$|^$/
/^['01'-'12']-['01'-'31']-[0-9]{4}$|^$/
我怎样才能让这个也检查以确保 MM 部分是 01-12 而 DD 部分只是
01-31?
这是一个可以帮助您的正则表达式: Javascript date regex DD/MM/YYYY
请考虑将要验证的字符串转换为日期对象并查看其是否有效。这实际上会验证它并且不会接受像 31-02-9999 这样的日期
使用纯正则表达式有点疯狂,我会使用正则表达式+条件检查,如下所示:
// 假设 myDate 是你的字符串
var dateParts = myDate.split('-'); var bDateIsValid = ( Number( dateParts[0] ) <= 12 && Number( dateParts[0] ) >=1 ) && ( Number( dateParts[1] ) <= 31 && Number( dateParts[1] ) >=1 )
如果您愿意,您还可以添加日期
尝试这个
/^[0-1]{1}[1-2]{1}-[0-3]{1}[1-2]{1}-[0-9]{4}$|^$/