前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript表单约束验证

JavaScript表单约束验证

作者头像
大熊G
发布2022-11-14 16:50:29
7230
发布2022-11-14 16:50:29
举报

theme: channing-cyan

这是我参与8月更文挑战的第30天,活动详情查看:8月更文挑战

我们在采集用户输入内容的时候肯定是需要判断用户输入的内容是否为我们需要的内容,js中有很多Api可以辅助我们来约束用户输入正确内容。

必填字段

required属性专门用于设置判断input,textarea,select元素内容是否为空,如果为空的话会自动提示内容。

代码语言:javascript
复制
 <input type="text" value="" required>
image.png
image.png

注意,有些浏览器版本可能不支持这个属性,以下就是支持的浏览器版本。 我把这个查询兼容链接放在这里吧,这个是每个前端人必须要知道的Can I use... Support tables for HTML5, CSS3, etc

image.png
image.png

输入类型限制

input元素在html5规范时候增加了email和url属性,这俩个都是浏览器提供的自定义验证。

email 验证邮箱

url 浏览器地址

代码语言:javascript
复制
      <input type="email" value="" > <br>
      <input type="url" value="" /><br>
      <button type="submit">提交</button>
image.png
image.png
image.png
image.png

这个也有浏览器版本限制,大家可以用查询兼容的查看一下。

输入数值范围

除了上面那俩个属性,还有:

"number"、"range"、"datetime"、"datetime-local"、"date"、"month"、"week" 和"time"。

并非所有主流浏览器都支持这些类型,因此使用时要当心。

以上这些都可以指定min(最小值)max(最大值),还有step(步长值),如果只能输入0-100,3的倍数我们可以这样写

代码语言:javascript
复制
 <input type="number" max="100" min="0" step="3">
数值范围.gif
数值范围.gif

输入模式

pattern属性,这个属性用来指定一个正则表达式。用户输入的内容必须和正则匹配。

代码语言:javascript
复制
<input type="text" pattern="[0-9]" > //设置数值0-9之间,并且只是一位数

我们写了一个很简单的正则:设置数值0-9之间,并且只是一位数,可以看图,我们输入内容不一致它也会提示。

image.png
image.png

检查有效性

使用checkValidity()方法可以检测表单中的内容是否有效,如果有效返回true,无效返回false。

代码语言:javascript
复制
<input type="text" value="11" pattern="[0-9]" >

let inputs = document.querySelectorAll('input');
console.log(inputs[0].checkValidity())
image.png
image.png

禁用验证

novalidate属性,这个属性可以禁止对表单进行任何验证,怎么说呢,如果我们设置了很多表单,尤其是for循环出来的,其中又有不需要校验的,可以给他设置禁用验证属性。

感觉开发几乎用不到这个,这玩意容易被sql注入,还会引发其他危害。

以上的这些都是比较新的东西,虽然也不新,出来好长时间了。我们如果项目中需要兼容老版本浏览器的话还是尽量不要使用这些,容易出现兼容问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • theme: channing-cyan
    • 必填字段
      • 输入类型限制
        • 输入数值范围
          • 输入模式
            • 检查有效性
              • 禁用验证
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档