JavaScript 表单
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>
完整实例:
<!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
let x = document.forms["myForm"]["fname"].value;
if (x == "") {
alert("Name must be filled out");
return false;
}
}
</script>
</head>
<body>
<h1>JavaScript 验证</h1>
<form name="myForm" action="/demo/html/action_page.php" onsubmit="return validateForm()" method="post">
Name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
JavaScript 可以验证数字输入
JavaScript 通常用于验证数字输入:
请输入 1 到 10 之间的数字:
完整实例:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Validation</h1>
<p>请输入 1 到 10 之间的数字:</p>
<input id="numb">
<button type="button" onclick="myFunction()">Submit</button>
<p id="demo"></p>
<script>
function myFunction() {
// 获取 id = "numb" 的输入字段的值
let x = document.getElementById("numb").value;
// 如果 x 不是数字或小于 1 或大于 10
let text;
if (isNaN(x) || x < 1 || x > 10) {
text = "输入无效";
} else {
text = "输入没问题";
}
document.getElementById("demo").innerHTML = text;
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
自动 HTML 表单验证
HTML 表单验证可以由浏览器自动执行:
如果表单字段 (fname) 为空,则 required 属性会阻止提交此表单:
HTML 表单实例
<form action="/action_page.php" method="post">
<input type="text" name="fname" required>
<input type="submit" value="Submit">
</form>
完整实例:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 验证</h1>
<form action="/demo/html/action_page.php" method="post">
<input type="text" name="fname" required>
<input type="submit" value="提交">
</form>
<p>如果您点击提交,而不填写文本字段,浏览器将显示错误消息。</p>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
提示:自动 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 伪类。