我有一个带输入的表单,当用户输入过去或现在的时间或者不到一小时应该给HH:MM: AM/PM
的时间时,它只接受来自用户的格式为alert(wrong time)
的时间。<登记/>
例如,如果当前时间是下午2点,如果用户输入上午10点或下午2点,如果用户输入3.01pm则它应该接受警报。
仅限javascript中所需的代码
答案 0 :(得分:0)
这样的事情可能会起作用(未经过彻底测试):
var dateReg = /(\d{1,2}):(\d{2})\s*(AM|PM)/
var result = dateReg.exec("3:12PM")
var inputHour = result[1] // Get Hour
var inputAmPm = result[3] // Get AM/PM
var currentHour = new Date().getHours() // Get current hour
var ampm = currentHour >= 12 ? 'PM' : 'AM' // Check if we are in AM or PM
var hour = currentHour % 12 // Transform current hour into AM/PM format
if (Math.abs(inputHour - hour) >= 1 || Math.abs(inputHour - hour) < 1 && inputAmPm !== ampm) {
alert('false')
}
// Do stuff...