用JavaScript做表单的校验
来源:互联网 发布:linux运维之道pdf下载 编辑:程序博客网 时间:2024/05/17 22:33
一、效果图
二、原理
表单的校验通过输入框中添加onblur事件,输入框失去焦点时调用js函数,js判断输入的值,操作文档,通过innerHTML属性把输入框后面的提示显示出来。
最后在form标签中添加onsubmit事件,点击注册按钮时调用js函数,仅当所有输入框的value符合要求时,返回true,,表单提交。否则返回false表单不提交。
三、注意事项
js中创建正则表达式需要用"/^……$/”,^表示从头开始匹配,$表示匹配到最后一个字符。例如var reg=/^\w+[@]\w+[.comn]{3,4}$/;
正则表达式的\w,表示a-z,A-Z,0-9还包括下划线。
通常使用正则的test方法来判断字符串是否与正则匹配,如果返回值为true,则匹配成功,返回false,匹配失败。
四、实现代码
NormalText Code
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>使用JavaScript完成表单的校验</title>
<script>
//校验用户名
function checkName(){
var name=document.getElementById("name").value;
var nameSpan=document.getElementById("nameSpan")
//正则表达式判断用户名
var reg=/^\w+$/;
if(name.length<1){
nameSpan.innerHTML="<font size='1' color='red'>用户名不能为空</font>"
}else if(name.length<=6){
nameSpan.innerHTML="<font size='1' color='red'>用户名要至少六位</font>"
}else if(!reg.test(name)){
nameSpan.innerHTML="<font size='1' color='red'>只能由字母数字下划线组成</font>"
}else{
nameSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
return true;
}
}
//校验密码
function checkCode(){
var code=document.getElementById("code").value;
var codeSpan=document.getElementById("codeSpan")
if(code==''){
codeSpan.innerHTML="<font size='1' color='red'>密码不能为空</font>"
}else if(code.length<6){
codeSpan.innerHTML="<font size='1' color='red'>密码至少六位</font>"
}else{
codeSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
return true;
}
}
//校验邮箱
function checkEmail(){
var email=document.getElementById("email").value;
var emailSpan=document.getElementById("emailSpan")
//用正则判断邮箱格式
var reg=/^\w+[@]\w+[.comn]{3,4}$/;
if(email==''){
emailSpan.innerHTML="<font size='1' color='red'>邮箱不能为空</font>"
}else if(!reg.test(email)){
emailSpan.innerHTML="<font size='1' color='red'>邮箱格式不正确</font>"
}else{
emailSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
return true;
}
}
//校验所有信息,决定表单是否提交
function checkForm(){
if(checkName()&&checkCode()&&checkEmail()){
return true;
}
return false;
}
</script>
</head>
<body>
<form id="regist" onsubmit="return checkForm()" action="http://www.baidu.com" method="get" style="margin-left: 520px;width: 400px;padding-left: 20px; height: 280px;border: 1px solid darkgray;">
<h3>注册表单</h3>
用户名:<input type="text" id="name" name="username" onblur="checkName()"/>
<span id="nameSpan" ></span><br/><br />
密码:<input type="password" id="code" name="password" onblur="checkCode()"/>
<span id="codeSpan"></span><br/><br />
邮箱:<input type="text" id="email" name="email" onblur="checkEmail()"/>
<span id="emailSpan"></span><br/><br />
<input type="submit" value="注册"/>
<input type="reset" value="重置"/>
</form>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>使用JavaScript完成表单的校验</title>
<script>
//校验用户名
function checkName(){
var name=document.getElementById("name").value;
var nameSpan=document.getElementById("nameSpan")
//正则表达式判断用户名
var reg=/^\w+$/;
if(name.length<1){
nameSpan.innerHTML="<font size='1' color='red'>用户名不能为空</font>"
}else if(name.length<=6){
nameSpan.innerHTML="<font size='1' color='red'>用户名要至少六位</font>"
}else if(!reg.test(name)){
nameSpan.innerHTML="<font size='1' color='red'>只能由字母数字下划线组成</font>"
}else{
nameSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
return true;
}
}
//校验密码
function checkCode(){
var code=document.getElementById("code").value;
var codeSpan=document.getElementById("codeSpan")
if(code==''){
codeSpan.innerHTML="<font size='1' color='red'>密码不能为空</font>"
}else if(code.length<6){
codeSpan.innerHTML="<font size='1' color='red'>密码至少六位</font>"
}else{
codeSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
return true;
}
}
//校验邮箱
function checkEmail(){
var email=document.getElementById("email").value;
var emailSpan=document.getElementById("emailSpan")
//用正则判断邮箱格式
var reg=/^\w+[@]\w+[.comn]{3,4}$/;
if(email==''){
emailSpan.innerHTML="<font size='1' color='red'>邮箱不能为空</font>"
}else if(!reg.test(email)){
emailSpan.innerHTML="<font size='1' color='red'>邮箱格式不正确</font>"
}else{
emailSpan.innerHTML="<font size='1' color='red'>符合要求</font>"
return true;
}
}
//校验所有信息,决定表单是否提交
function checkForm(){
if(checkName()&&checkCode()&&checkEmail()){
return true;
}
return false;
}
</script>
</head>
<body>
<form id="regist" onsubmit="return checkForm()" action="http://www.baidu.com" method="get" style="margin-left: 520px;width: 400px;padding-left: 20px; height: 280px;border: 1px solid darkgray;">
<h3>注册表单</h3>
用户名:<input type="text" id="name" name="username" onblur="checkName()"/>
<span id="nameSpan" ></span><br/><br />
密码:<input type="password" id="code" name="password" onblur="checkCode()"/>
<span id="codeSpan"></span><br/><br />
邮箱:<input type="text" id="email" name="email" onblur="checkEmail()"/>
<span id="emailSpan"></span><br/><br />
<input type="submit" value="注册"/>
<input type="reset" value="重置"/>
</form>
</body>
</html>
1 0
- 用JavaScript做表单的校验
- javascript校验表单不错的方法
- Javascript 表单校验的三种方法
- 使用JavaScript 实现注册表单的校验
- javascript 表单校验器
- Javascript:数据校验表单
- javascript前台校验表单
- JavaScript校验表单实例
- javascript 表单校验
- javascript做的数据校验(校验IP地址等)
- javascript做的数据校验(校验IP地址等)
- javascript做的数据校验(校验IP地址等)
- JavaScript 表单提交校验函数库
- JavaScript递归校验动态表单
- Javascript实现客户端表单校验
- 使用JavaScript实现表单校验
- JavaScript代码块:校验表单
- 精彩的javascript代码(包括表单校验等等)
- 【原】小写了一个cnode的小程序
- 构建工具-----Gradle(二)-----myeclipse 10和myeclipse2015安装gradle插件----其他版本的myeclipse类似
- PHP基础之变量传值、常量、魔术常量、变量常规检测
- 2016年,就像打翻了五味瓶
- 网络复习笔记
- 用JavaScript做表单的校验
- NOI 2016 优秀的拆分 后缀数组
- vtk中的BMP图像读取
- 华为机试在线训练-牛客网(8)句子逆序
- 算法之路二:刘汝佳算法竞赛入门经典 信息解码 UVA213
- 网络安全的专家—防火墙!!续
- Linux tomcat根据物理内存大小动态配置JVM内存
- Linux SPI总线和设备驱动架构之三:SPI控制器驱动
- [Codeforces Round #354 DIV2D (CF676D)] Theseus and labyrinth