获取生日信息用正则来做不太理想,当然这却决于输入方式(表单中时间标签的设置)。
参考下:
/\d{4}\-\d{1,2}\-\d{1,2}/因为日期有诸多要求(日期不大于当前日期,月份1-12,天数1-31,以及特殊年份、月份天数问题),除非能确认用户输入的日期是有效日期,不然使用正则会存在导致很多问题。比如上面的表达式可以匹配9999-99-99,而这并不是准确的日期格式。
不要用正则做,麻烦,可以用js自己提供的date对象,这样还能兼容一些更广泛的输入,比如两位的年份之类。
var birth=''//换成你的input的值var birthDate = new Date(birth)
if (!birthDate.getTime()) console.log('错误的日期格式,请按照xxxx格式输入') //错误格式
else if (birthDate<new Date('1900-01-01')) console.log('不能小于1900年')
else if (birthDate>=new Date('2010-01-01')) console.log('不能大于2009年')
你把日志换成你需要的提示操作即可。