JavaScript 表单

JavaScript 表单验证

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

如果表单域 (fname) 为空,该函数会提示一条消息,并返回 false,以防止表单被提交:

JavaScript 实例

function validateForm() {
  let x = document.forms["myForm"]["fname"].value;
  if (x == "") {
    alert("Name must be filled out");
    return false;
  }
}

提交表单时可以调用该函数:

HTML 表单实例

<form name="myForm" action="/action_page.php" onsubmit="return validateForm()" method="post">
Name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>

亲自试一试

JavaScript 可以验证数字输入

JavaScript 通常用于验证数字输入:

请输入 1 到 10 之间的数字:

亲自试一试

自动 HTML 表单验证

HTML 表单验证可以由浏览器自动执行:

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

HTML 表单实例

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

亲自试一试

提示:自动 HTML 表单验证在 Internet Explorer 9 或更早版本中不起作用。

数据验证

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

典型的验证任务是:

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

大多数情况下,数据验证的目的是确保用户输入正确。

验证可以通过许多不同的方法定义,并以许多不同的方式部署。

服务器端验证由 Web 服务器在输入发送到服务器后执行。

在将输入发送到 Web 服务器之前,客户端验证由 Web 浏览器执行。

HTML 约束验证

HTML5 引入了一种新的 HTML 验证概念,称为约束验证。

HTML 约束验证基于:

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

约束验证 HTML input 属性

属性 描述
disabled 规定应禁用 input 元素。
max 规定 input 元素的最大值。
min 规定 input 元素的最小值。
pattern 规定 input 元素的值模式。
required 规定 input 字段必填。
type 规定 input 元素的类型。

如需完整列表,请访问 HTML Input 属性

约束验证 CSS 伪选择器

选择器 描述
:disabled 选择规定了 "disabled" 属性的 input 元素。
:invalid 选择有无效值的 input 元素。
:optional 选择未规定 "required" 属性的 input 元素。
:required 选择规定了 "required" 属性的 input 元素。
:valid 选择具有有效值的 input 元素。

如需完整列表,请访问 CSS 伪类