JavaScript表单验证核心是监听输入或提交事件,检查字段是否符合规则并实时反馈;需阻止submit默认行为,对必填、邮箱、手机号、密码等做校验,结合blur等事件实现样式提示,并可借助HTML5原生属性增强。
JavaScript实现表单验证,核心是监听用户输入或提交动作,检查字段值是否符合预设规则,并及时给出反馈。不依赖后端,就能在提交前拦截明显错误,提升用户体验和数据质量。
表单验证通常从拦截 submit 事件开始。直接提交会刷新页面,必须用 event.preventDefault() 阻止,再执行校验逻辑:
元素添加 submit 事件监听器event.preventDefault() 阻止跳转或刷新false,不提交不同字段类型对应不同验证重点,可封装简单判断函数:
value.trim() !== ''
/^[^\s@]+@[^\s@]+\.[^\s@]+$/ 测试/^1[3-9]\d{9}$/
只在提交时报错体验较差。建议结合 input、blur(失焦)等事件做即时校验:
class="error",用 CSS 控制边框变红或背景高亮alert,优先用页面内提示可先用 required、type="email"、minlength 等属性让浏览器自动提示,再用 JavaScript 增强控制:
form.checkValidity() 快速判断整体是否通过原生校验input.reportValidity() 主动触发浏览器默认提示(兼容性好)
逻辑不可扩展