通八洲科技

html5怎么验证表单_HTML5用JS或HTML5属性如required验证输入合法性【验证】

日期:2025-12-25 00:00 / 作者:蓮花仙者
HTML5表单验证可通过required、type、pattern属性及JavaScript的checkValidity()和setCustomValidity()方法实现。required强制非空,type校验格式,pattern匹配正则,checkValidity()手动检测有效性,setCustomValidity()自定义错误提示。

如果您在HTML5页面中需要确保用户输入的数据符合基本要求,可以通过原生HTML5属性或JavaScript实现表单验证。以下是几种可行的验证方式:

一、使用required属性强制非空校验

required属性是HTML5内置的布尔属性,用于声明某个表单控件为必填项。当用户提交表单时,若该字段为空,浏览器会自动阻止提交并显示默认提示。

1、在

2、例如:

3、尝试提交空值时,浏览器将弹出原生提示且不触发submit事件

二、使用type属性触发类型校验

HTML5扩展了input元素的type取值,如email、url、number、date等,浏览器会依据type自动校验输入格式是否合法。

1、将input的type设为email:

2、输入不符合邮箱格式的内容(如“abc”)后提交,浏览器会拒绝提交并高亮显示错误状态

3、对number类型,可进一步添加min、max、step属性限制数值范围。

三、使用pattern属性配合正则表达式校验

pattern属性允许开发者指定一个JavaScript风格的正则表达式,用于验证输入值是否匹配指定格式。该属性仅对text、search、url、tel、email、password类型有效。

1、在input标签中添加pattern属性,例如:

2、title属性用于定义校验失败时显示的提示文本。

3、用户输入不满足正则时,表单无法提交,且焦点会停留在该字段

四、使用JavaScript调用checkValidity()方法手动校验

checkValidity()是HTML5表单控件的原生方法,返回布尔值表示当前字段是否通过所有约束校验。可用于在提交前主动检测或响应式反馈。

1、获取目标input元素:const input = document.querySelector('input[name="phone"]');。

2、调用input.checkValidity(),返回true表示合法,false表示非法。

3、结合addEventListener监听input或blur事件,实时调用checkValidity()并根据返回值更新UI样式

五、使用JavaScript设置setCustomValidity()自定义错误消息

setCustomValidity()允许覆盖浏览器默认的验证错误提示,提供更精准的业务语义化反馈。传入空字符串表示恢复为有效状态。

1、在input上绑定input事件:

2、获取元素后判断值是否为数字且在合理范围内:if (value 120) { input.setCustomValidity("年龄必须在1到120之间"); } else { input.setCustomValidity(""); }。

3、调用setCustomValidity非空字符串后,checkValidity()将返回false,且提交被阻止