我需要验证 html 文本框(onkeypress)只允许给定格式的时间:
hh:mm // hh--> 只允许最多 24 和 mm --> 最多 59
没有其他文本会限制文本框:始终使用 javascript 显示在文本框中
我需要验证 html 文本框(onkeypress)只允许给定格式的时间:
hh:mm // hh--> 只允许最多 24 和 mm --> 最多 59
没有其他文本会限制文本框:始终使用 javascript 显示在文本框中
这很容易。
function validate(form) {
var hhmm = form.time.value.split(':'); // split hours and minutes
var hours = parseInt(hhmm[0]); // get hours and parse it to an int
var minutes = parseInt(hhmm[1]); // get minutes and parse it to an int
// check if hours or minutes are incorrect
if(hours < 0 || hours > 24 || minutes < 0 || minutes > 59) {
alert('NOPE'); // display error
return false; // stop the form from sending
}
}
我建议也使用 HTML5time
输入。如果浏览器不支持该元素(IE、Firefox),它将回退到正常的文本输入。所以它会以任何一种方式工作。
<input type="time" name="time" />
最后,要validate
在提交表单时运行,添加此属性:
onsubmit="return validate(this);"
这将起作用,但您仍然需要验证服务器端(PHP、C#、Java、Perl、Ruby 等)以确保它是有效时间。
如果黑客愿意向您发送无效数据,他们不必填写表格,但可以将定制的数据直接发送到服务器。因此,您必须(重新)在服务器端验证它。