请稍候,加载中....

JavaScript 表单


表单验证

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

表单验证实例1

以下实例代码用于判断表单字段(fname)值是否存在, 如果输入为空,会提示输入为空

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">

</head>
<body>
<p id="message"></p>
<form name="myForm" action=""
onsubmit="return validateForm()" method="post">
名字: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
<script>
message = document.getElementById("message")
function validateForm() { 
    var input = document.forms["myForm"]["fname"].value; 
    if (!input) { 
         message.innerHTML = "需要输入名字。"; 
         return false; 
     } 
    message.innerHTML = "您输入的是:" + input
    return false 
} 
</script>
</body>
</html>

表单验证实例2

JavaScript 验证输入的数字

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>

<h1>JavaScript 验证输入</h1>

<p>请输入 1 到 255之间的数字:</p>

<input id="color">

<button type="button" onclick="myFunction()">提交</button>

<p id="message"></p>

<script>
function myFunction() {
    var color, messge;
    // 获取 id="color" 的值
    color = document.getElementById("color").value;
    // color值必须介于0~255
    if (isNaN(color) || color < 1 || color > 255) {
        message = "输入错误";
    } else {
        message = "输入正确";
    }
    document.getElementById("message").innerHTML = message;
}
</script>

</body>
</html>

表单验证实例3

使用javascript验证用户的邮件格式是否正确

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<head>
<script>
function validateForm(){
	var email=document.forms["myForm"]["email"].value;
	var email_patt = /\w+@\w+\.com/
	if (!email_patt.test(email)){
		alert("不是一个有效的 e-mail 地址");
  		return false;
	}
    alert("邮件正确")
    return false
}
</script>
</head>
<body>
	
<form name="myForm" action="" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="提交">
</form>
	
</body>
</html>

表单自动验证

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

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

表单自动验证实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>

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

<p>点击提交按钮,如果输入框是空的,浏览器会提示错误信息。</p>

</body>
</html>

Internet Explorer 9 及更早 IE 浏览器不支持表单自动验证。

 


数据验证

数据验证用于确保用户输入的数据是有效的。

在客户端典型的数据验证有:

  • 必需字段是否有输入?
  • 用户是否输入了合法的数据?
  • 在数字字段是否输入了文本?

大多数情况下,数据验证用于确保用户正确输入数据,客户端验证通常用于提高用户的体验度,预防用户因为一些原因输入了错误的数据。,由于客户端传递的数据通常由客户完全控制,所以要保证数据的安全性,需要在服务器端重新进行验证

 


HTML 约束验证

HTML5 新增了 HTML 表单的验证方式:约束验证(constraint validation)。

约束验证是表单被提交时浏览器用来实现验证的一种算法。

HTML 约束验证基于:

  • HTML 输入属性
  • CSS 伪类选择器
  • DOM 属性和方法

约束验证 HTML 输入属性

属性 描述
disabled 规定输入的元素不可用
max 规定输入元素的最大值
min 规定输入元素的最小值
pattern 规定输入元素值的模式
required 规定输入元素字段是必需的
type  规定输入元素的类型

完整列表,请查看 HTML 输入属性

约束验证 CSS 伪类选择器

选择器 描述
:disabled 选取属性为 "disabled" 属性的 input 元素
:invalid 选取无效的 input 元素
:optional 选择没有"optional"属性的 input 元素
:required 选择有"required"属性的 input 元素
:valid 选取有效值的 input 元素

完整列表,请查看 CSS 伪类


Python学习手册-