表单验证
来源:互联网 发布:java oop是什么意思 编辑:程序博客网 时间:2024/06/04 01:16
<!doctype html>
<html>
<head>
<title>表单验证</title>
<!--
以注册为例:
首先我们知道在注册的时候, 填写很多数据, 然后提交到后台, 交给数据库去存储
有个问题 ? 数据库里面本身就有约束, 用户名长度只能6-12字符
数据库约束: check( len(username) between 6 and 12 )
那为什么在前台的页面上还要验证呢 ?
我们不应该把验证的工作交给数据库去弄 , 数据库每天增删改查就已经够多了
JS这样做是为了减轻服务器的压力
在表单中, 有两个非常重要的事件 <form>标签中
1. 表单提交事件 : onsubmit="return boolean"
2. 表单重置事件 : onreset="return boolean"
true : 事件驱动可用
false : 事件驱动不可用
-->
<style type="text/css">
*{
font-size:30px;
}
input{
border:1px solid red;
}
</style>
<script type="text/javascript">
function checkReset (){
return confirm("你确定重写表单信息吗?");
}
//表单提交时会调用的验证方法
function checkSubmit (){
//用户名不能为空
var name = document.getElementById("name").value;
if(name=="" || name.length==0){
alert("用户名不能为空");
return false; //返回
}/*else{
return true;//这个为什么不要写, 因为如果这个写了之后, 用户名满足要求返回true, 表单就提交了, 后面的密码,邮箱就都不会判断了
}*/
//密码6-18字符
var pwd1 = document.getElementById("pwd1").value;
if(pwd1.length<6 || pwd1.length>18){
alert("密码只支持6-18字符");
return false;
}
//确认密码要和密码一样
var pwd2 = document.getElementById("pwd2").value;
if(pwd1!=pwd2){
alert("密码不一致");
return false;
}
//邮箱要有@符号 .符号 @在.的前面
//邮箱在这里不能很好的写验证, 后面我们用正则表达式来写真正的邮箱验证
var email = document.getElementById("email").value;
var a = email.indexOf("@"); //@的下标
var b = email.indexOf("."); //.的下标
if(a==-1 || b==-1 || a>b){
alert("邮箱格式不正确");
return false;
}
}
//服务条款
function show (){
var obj = document.getElementById("staus");
if(obj.checked){ //为true 代表同意了
//disabled 为 false 代表 取消禁用
document.getElementById("subm").disabled = false;
}else{
//disabled 为 false 代表 开启禁用
document.getElementById("subm").disabled = true;
}
}
</script>
</head>
<body>
<form action="String字符串.html" method="post" onreset="return checkReset()" onsubmit="return checkSubmit()">
用户名: <input type="text" id="name" /><br />
密 码: <input type="text" id="pwd1" /><br />
确认密码: <input type="text" id="pwd2" /><br />
邮箱地址: <input type="text" id="email" /><br />
<input type="checkbox" id="staus" onclick="show()">
我已经同意许可条款<br />
<input type="submit" value="注册" disabled="disabled" id="subm">
<input type="reset" value="重写">
</form>
</body>
</html>
<html>
<head>
<title>表单验证</title>
<!--
以注册为例:
首先我们知道在注册的时候, 填写很多数据, 然后提交到后台, 交给数据库去存储
有个问题 ? 数据库里面本身就有约束, 用户名长度只能6-12字符
数据库约束: check( len(username) between 6 and 12 )
那为什么在前台的页面上还要验证呢 ?
我们不应该把验证的工作交给数据库去弄 , 数据库每天增删改查就已经够多了
JS这样做是为了减轻服务器的压力
在表单中, 有两个非常重要的事件 <form>标签中
1. 表单提交事件 : onsubmit="return boolean"
2. 表单重置事件 : onreset="return boolean"
true : 事件驱动可用
false : 事件驱动不可用
-->
<style type="text/css">
*{
font-size:30px;
}
input{
border:1px solid red;
}
</style>
<script type="text/javascript">
function checkReset (){
return confirm("你确定重写表单信息吗?");
}
//表单提交时会调用的验证方法
function checkSubmit (){
//用户名不能为空
var name = document.getElementById("name").value;
if(name=="" || name.length==0){
alert("用户名不能为空");
return false; //返回
}/*else{
return true;//这个为什么不要写, 因为如果这个写了之后, 用户名满足要求返回true, 表单就提交了, 后面的密码,邮箱就都不会判断了
}*/
//密码6-18字符
var pwd1 = document.getElementById("pwd1").value;
if(pwd1.length<6 || pwd1.length>18){
alert("密码只支持6-18字符");
return false;
}
//确认密码要和密码一样
var pwd2 = document.getElementById("pwd2").value;
if(pwd1!=pwd2){
alert("密码不一致");
return false;
}
//邮箱要有@符号 .符号 @在.的前面
//邮箱在这里不能很好的写验证, 后面我们用正则表达式来写真正的邮箱验证
var email = document.getElementById("email").value;
var a = email.indexOf("@"); //@的下标
var b = email.indexOf("."); //.的下标
if(a==-1 || b==-1 || a>b){
alert("邮箱格式不正确");
return false;
}
}
//服务条款
function show (){
var obj = document.getElementById("staus");
if(obj.checked){ //为true 代表同意了
//disabled 为 false 代表 取消禁用
document.getElementById("subm").disabled = false;
}else{
//disabled 为 false 代表 开启禁用
document.getElementById("subm").disabled = true;
}
}
</script>
</head>
<body>
<form action="String字符串.html" method="post" onreset="return checkReset()" onsubmit="return checkSubmit()">
用户名: <input type="text" id="name" /><br />
密 码: <input type="text" id="pwd1" /><br />
确认密码: <input type="text" id="pwd2" /><br />
邮箱地址: <input type="text" id="email" /><br />
<input type="checkbox" id="staus" onclick="show()">
我已经同意许可条款<br />
<input type="submit" value="注册" disabled="disabled" id="subm">
<input type="reset" value="重写">
</form>
</body>
</html>
0 0
- 验证表单
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- 表单验证
- AJAX的简介和使用
- java键盘输入加密方法
- 从ZipInputStream类读入一个字节数组输出流
- ShareSDK授权登录开启两个授权页面
- matlab norm 范式
- 表单验证
- HDU4825 Xor Sum(Trie树 + 贪心)
- NYOJ69数的大小
- The Text Splitting(字符串问题)
- nodejs--process
- nginx内置缓存Proxy_cache之清除
- 开发人员谷歌浏览器插件?
- get请求和post请求乱码分析
- 运维python开发有感