JS 表单

JS 表单验证

HTML 表单验证能够通过 JS 来完成

  • 如果某个表单字段(fname)是空的,那么该函数会发出一条警告消息,并返回 false,以防止表单被提交出去

HTML表单实例

<form name="myForm" action="/action_page_post.php" onsubmit="return vailddateForm() " method="post">
姓名: <input type="text" name="fname">
<input type="submit" value="提交">
</form>

JS实例

function validdataForm() {
	var x= document.forms["myForm"]["fname"].value;
	if (x == ""){
		alert("please wirte your name,guys");
		return false;
	}
}

该函数能够在表单提交时被调用:

JS能够验证数字输入

JS 常用于验证数字输入:
在这里插入图片描述

<!DOCTYPE html>
<html>
<body>
<p>请输入 1 到 10 之间的数</p>
<input id="numb">
<button type="button" onclick="myFunciton()" >提交</button>
<p id="demo"></p>
<script>
function myFunction() {
	var x, text;
	x= document.getElementById("numb").value;
	if(isNaN(x) || x <1 || x>10) {
		text="输入无效";
	}else {
		text="输入有效";
	}
	document.getElementById("demo").innerHTMl= text;
}
</script>
</body>
</html>

自动HTML表单验证

HTML 表单验证能够被浏览器自动执行
如果表单字段(fname)是空的,required 属性防止表单被提交:

HTML 表单实例

<form action="/action_page_post.php" method="post">
   <input type="text" name="fname" required>
   <input type="submit" value="Submit">
</form>

自动 HTML 表单验证不适用于 Internet Explorer 9 或更早的版本。

数据验证

定义:
数据验证是指确保干净、正确、和有用的用户输入过程。
作用:
确保正确的用户输入

典型的验证任务是:

  • 用户是否已填写所有的必需字段?
  • 用户是否输入有效的日期?
  • 用户是否在数字字段中输入了文本?

验证可以通过不同的方法来定义,并且可以使用不同的方法来开发

服务器验证:
是由Web服务器执行的,在输入被送往服务器之后
客户端验证:
是由Web浏览器执行的,在输入被送往Web服务器之前

HTMl 约束验证(HTML5新引入)

HTML5 引入了一种新的HTML 验证概念 ,名为约束验证(constraint validation)

HTML 约束验证基于:

  • 约束验证 HTML输入属性
  • 约束验证 CSS伪选择器
  • 约束验证 DOM属性和方法

约束验证HTML输入属性

在这里插入图片描述

约束验证 CSS伪选择器

在这里插入图片描述

JS 验证API

约束验证DOM方法

在这里插入图片描述

checkValidity()方法

<!DOCTYPE html>
<html>
<body>
<p>请输入数字并点击提交</p>
<input id="id1" type="number" min="100" max="300" required>
<button onclick="myFunction">提交</button>
<p>如果该数字小于 100 或大于 300,将显示错误消息。</p>
<p id="demo"></p>
<script>
function myFunction() {
	var inpObj= document.getElementById("id1");
	if(!inpObj.checkValidity()) {	document.getElementById("demo").innerHTML= inpObj.validationMessage;
	}else {
		document.getElementById("demo").innerHTML="输入有效";
	}
}
</script>
</body>
</html>

在这里插入图片描述

约束验证 DOM属性

在这里插入图片描述

合法性属性:

input 元素的 validity 属性包含了与数据合法性相关的一系列属性:
在这里插入图片描述

rangeOverflow属性:

实例:
如果输入字段总的数字大于100 (input 元素的max属性),则显示一条消息

<input id="id1" type="number" max="100">
<button onclick="myFunction()">OK</button>

<p id="demo"></p>

<script>
function myFunction() {
    var txt = "";
    if (document.getElementById("id1").validity.rangeOverflow) {
        txt = "值太大";
    }
     document.getElementById("demo").innerHTML = txt;
}
</script> 
rangeUnderflow属性:

实例:
如果输入字段总的数字小于100 (input 元素的min属性),则显示一条消息

<input id="id1" type="number" min="100">
<button onclick="myFunction()">OK</button>

<p id="demo"></p>

<script>
function myFunction() {
     var txt = "";
    if (document.getElementById("id1").validity.rangeUnderflow) {
        txt = "值太小";
    }
     document.getElementById("demo").innerHTML = txt;
}
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值