JavaScript 表单验证及API验证 03

1.JavaScript 表单验证

  1. HTML 表单验证可以通过 JavaScript 来完成。

  2. 以下实例代码用于判断表单字段(fname)值是否存在, 如果不存在,就弹出信息,阻止表单提交:

function validateForm() {
    var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "") {
        alert("需要输入名字。");
        return false;
    }
}

2.HTML 表单自动验证

  • HTML 表单验证也可以通过浏览器来自动完成。

  • 如果表单字段 (fname) 的值为空, required 属性会阻止表单提交:

<form action="demo_form.php" method="post">
  <input type="text" name="fname" required="required">
  <input type="submit" value="提交">
</form>

3.数据验证

1. 数据验证用于确保用户输入的数据是有效的。
2. 典型的数据验证有:

  • 必需字段是否有输入?
  • 用户是否输入了合法的数据?
  • 在数字字段是否输入了文本?
  • 大多数情况下,数据验证用于确保用户正确输入数据。
  • 数据验证可以使用不同方法来定义,并通过多种方式来调用。
  • 服务端数据验证是在数据提交到服务器上后再验证。
  • 客户端数据验证 side validation是在数据发送到服务器前,在浏览器上完成验证。
  • 必填(或必选)项目 如下
function validateForm()
{
  var x=document.forms["myForm"]["fname"].value;
  if (x==null || x=="")
  {
    alert("姓必须填写");
    return false;
  }
}

// 以上函数在 form 表单提交时被调用:
<form name="myForm" action="demo-form.php" onsubmit="return validateForm()" method="post">: <input type="text" name="fname">
<input type="submit" value="提交">
</form>

4.E-mail 验证

  1. 下面的函数检查输入的数据是否符合电子邮件地址的基本语法。

  2. 意思就是说,输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号:

function validateForm(){
  var x=document.forms["myForm"]["email"].value;
  var atpos=x.indexOf("@");
  var dotpos=x.lastIndexOf(".");
  if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
    alert("不是一个有效的 e-mail 地址");
    return false;
  }
}

//下面是连同 HTML 表单的完整代码:
<form name="myForm" action="demo-form.php" onsubmit="return validateForm();" method="post">
    Email: <input type="text" name="email">
    <input type="submit" value="提交">
</form>

5.JavaScript 验证 API

约束验证 DOM 方法

checkValidity()	// 如果 input 元素中的数据是合法的返回 true,否则返回 false。

setCustomValidity()  
/*设置 input 元素的 validationMessage 属性,用于自定义错误提示信息的方法。
使用 setCustomValidity 设置了自定义提示后,validity.customError 就会变成true,
则 checkValidity 总是会返回false。如果要重新判断需要取消自定义提示,方式如下:*/
setCustomValidity('') 
setCustomValidity(null) 
setCustomValidity(undefined)

以下实例如果输入信息不合法,则返回错误信息:

<button onclick="myFunction()">验证</button>
<p id="demo"></p>
<script>
function myFunction() :
	var inpObj = document.getElementById("id1");
	if (inpObj.checkValidity() == false) {
	document.getElementById("demo").innerHTML = inpObj.validationMessage;
	}
}
</script>
发布了39 篇原创文章 · 获赞 13 · 访问量 3373

猜你喜欢

转载自blog.csdn.net/qq_30036471/article/details/98948931
今日推荐