在网上搜索表单验证,大多数都是JS写的,比较复杂。但是翻阅了HTML5的新标签之后,发现HTML5原生支持对正则表达式、非空的检测,即pattern,required标签。
如下即可实现该输入框非空,且是正整数:
<input name="simple" required pattern="^[1-9]\d*">
不过在提交表单时,如果输入框不合规范,默认的提示并不友好,如果想要更改默认的提示,需要加入oninvalid标签,并编写包含setCustomValidity函数的JS函数
如下:
<input name="simple" required pattern="^[1-9]\d* oninvalid="validatelt(this,'请输入正整数!')" >
<script>
function validatelt(inputelement,err){
inputelement.setCustomValidity(err);
}
</script>
当然,如果需要更复杂的验证功能,JS代码还是不可少的。