使用required属性可实现HTML表单必填项,浏览器自动校验input、textarea、select等元素,结合pattern可验证格式,通过setCustomValidity()自定义提示,但需注意IE低版本不支持,且必须配合后端校验。

在HTML表单中设置必填项,主要是通过 required 属性实现的。浏览器会自动对带有该属性的输入框进行验证,用户提交表单时若未填写,会提示输入内容,无需额外JavaScript代码即可完成基础校验。
在常见的表单元素如 input、textarea、select 中添加 required 属性,即可将其设为必填项。
示例代码:
<form> <label>姓名:</label> <input type="text" name="name" required> <p><label>邮箱:</label> <input type="email" name="email" required></p><p><label>请选择城市:</label> <select name="city" required> <option value="">-- 请选择 --</option> <option value="beijing">北京</option> <option value="shanghai">上海</option> </select></p><p><input type="submit" value="提交"> </form></p>
除了是否为空,有时还需要控制输入格式,比如手机号、身份证号。这时可以配合 pattern 属性使用正则表达式进行校验。
立即学习“前端免费学习笔记(深入)”;
例如限制手机号为11位数字:
<label>手机号:</label>
<input type="tel" name="phone" pattern="[0-9]{11}" required>
如果输入不符合格式,提交时浏览器也会阻止并提示错误。
默认提示语由浏览器生成,不够友好。可通过JavaScript的 setCustomValidity() 方法自定义提示内容。
示例:
<input type="email" id="email" name="email" required>
<p><script>
const emailInput = document.getElementById("email");
emailInput.addEventListener("invalid", function(e) {
if(e.target.validity.valueMissing) {
e.target.setCustomValidity("请输入您的邮箱地址");
} else if(e.target.validity.typeMismatch) {
e.target.setCustomValidity("邮箱格式不正确,请检查后重新输入");
}
});
emailInput.addEventListener("input", function() {
e.target.setCustomValidity(""); // 输入时清除错误提示
});
</script></p>虽然 required 属性被现代浏览器广泛支持,但仍需注意以下几点:
基本上就这些。使用 required 是最简单有效的HTML表单必填项实现方式,搭配 pattern 和自定义提示能大幅提升用户体验。前端验证只是第一道防线,后端校验不可省略。
以上就是HTML表单怎么设置必填项_HTML表单必填项验证的实现方法的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号