思路:
1、定义页面
通过表格格式化表单;
表格行都有自己的背景颜色;
单元格中的数据(文本等)用div进行封装,好操作;
2、定义样式
表格的样式;
div的样式;
3、动态效果
页面加载时,将所有的输入框定义默认框线颜色和获取焦点时的框线颜色;
进行内容校验,不正确时显示警告信息。
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>表单验证</title>
<!-- 思路:
1、定义页面
通过表格格式化表单;
表格行都有自己的背景颜色;
单元格中的数据(文本等)用div进行封装,好操作;
2、定义样式
表格的样式;
div的样式;
3、动态效果
页面加载时,将所有的输入框定义默认框线颜色和获取焦点时的框线颜色;
进行内容校验,不正确时显示警告信息。
-->
<style type="text/css">
table{
border: #A50DFA 1px solid;
width: 500px;
border-collapse: collapse;
}
table th, table td{
border: #A50DFA 1px solid;
padding:10px;
}
table th{
}
table td{
}
.errorinfo{
color: #EA1508;
font-family: "华文行楷";
font-weight: bold;
display: none;
}
.focus{
border: #03F2FC 2px solid;
}
.outs{
border: #81710D 1px solid;
}
.error{
border: #FA0324 2px solid;
}
</style>
<script type="text/javascript">
function checkinput(input){
input.className = "outs";
input.onfocus = function(){
this.className = "focus";
}
}
/*窗口加载时就执行*/
window.onload = function(){
with(document.forms[0]){
checkinput(user);
checkinput(psw);
checkinput(repsw);
checkinput(mail);
}
}
/*验证输入的数据*/
/*方法一:每个输入框一个function,代码重复性高,舍弃不用。*/
function checkDate(userNode){
var value = userNode.value;
var regex = /^\w{3,5}$/;
var divNode = document.getElementById("userdiv");
if(regex.test(value)){
userNode.className = "outs";
divNode.style.display = "none";
}else{
userNode.className = "error";
divNode.style.display = "block";
}
}
/*方法二*/
function check(inputNode, regex, divId){
var divNode = document.getElementById(divId);
if(regex.test(inputNode.value)){
inputNode.className = "outs";
divNode.style.display = "none";
}else{
inputNode.className = "error";
divNode.style.display = "block";
}
}
/*验证用户名*/
function checkUser(userNode){
var regex = /^\w{3,5}$/;
check(userNode, regex, "userdiv");
}
/*验证密码格式*/
function checkPsw(pswNode){
var regex = /^[a-z0-9]{4,8}$/i;
check(pswNode, regex, "pswdiv");
}
/*验证两次密码是否一致*/
function checkRepsw(repswNode){
var psw = document.getElementById("psw").value;
var repsw = repswNode.value;
var divNode = document.getElementById("repswdiv");
if(psw == repsw){
repswNode.className = "outs";
divNode.style.display = "none";
}else{
repswNode.className = "error";
divNode.style.display = "block";
}
}
/*验证邮箱*/
function checkMail(mailNode){
var regex = /^\w+@\w+(\.\w+)+$/;
check(mailNode, regex, "maildiv");
}
</script>
</head>
<body>
<form>
<table>
<tr>
<th>用户注册</th>
</tr>
<tr>
<td>
<div>用户名</div>
<div>
<input type="text" name="user" onblur="checkUser(this)"/>
</div>
<div class="errorinfo" id="userdiv">用户名填写错误。</div>
<div>用户名必须是3-5位,由字母(a-z)、数字(0-9)、下划线(_)组成</div>
</td>
</tr>
<tr>
<td>
<div>密码</div>
<div>
<input type="password" name="psw" id="psw" onblur="checkPsw(this)"/>
</div>
<div class="errorinfo" id="pswdiv">密码格式错误。</div><br/>
<div>确认密码</div>
<div>
<input type="password" name="repsw" onblur="checkRepsw(this)"/>
</div>
<div class="errorinfo" id="repswdiv">两次输入密码不一致。</div>
<div>密码必须是4-8位,由字母(a-z)、数字(0-9)组成</div>
</td>
</tr>
<tr>
<td>
<div>邮箱</div>
<div>
<input type="text" name="mail" onblur="checkMail(this)"/>
</div>
<div class="errorinfo" id="maildiv">邮箱格式错误,请规范填写。</div>
</td>
</tr>
<tr>
<th><input type="button" value="提交数据" onclick="submitDate()"></th>
</tr>
</table>
</form>
</body>
</html>
![]()
![]()
- ★★★【卡法 常用js库】: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度
[卡法 常用js库]: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度 // +---------------------- ...
- js基础-表单验证和提交
基础知识: 原始提交如下: <form action="/login" method="post" id="form1"> &l ...
- JS通用表单验证函数,基于javascript正则表达式
表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...
- JS简单表单验证
这里我是写了一个简单的注册表单验证功能,亲测有效,一起来看看吧! 首先我的HTML代码是这样的: class大家可以忽略一下,这里我项目使用的是bootstrap的样式. 输入用户名和密码用的是正则表 ...
- 表单提交学习笔记(二)—使用jquery.validate.js进行表单验证
一.官网下载地址:http://plugins.jquery.com/validate/ 二.用法 1.在页面上进行引用 <script src="~/scripts/jquery-1 ...
- 原生js的表单验证
最近在学原生的js,把一些练手的代码往博客放一放,权当积累经验,若有错漏,或是觉得浅显,大家不要见怪. 这是一个原生js编写的简单的表单验证: <!DOCTYPE html><htm ...
- js——form表单验证
用js实现一个简易的表单验证 效果: 代码: <html> <head> <title>js校验form表单</title> <meta char ...
- 原生JS写表单验证提交功能
先上效果图: 表单的基础内容就是昵称判断.手机号判断.邮箱判断.身份证号码判断,这里是用到正则验证检验格式. 页面的表单写法就是一个form的提交.输入框用input来实现,输入内容用value来获取 ...
- 原生js制作表单验证,基本的表单验证方法
表单验证是web前端最常见的功能之一,也属于前端开发的基本功.自己完成一个表单验证的开发,也有助于加深对字符串处理和正则表达式的理解. 基本的表单验证包括如:字母验证.数字验证.字母和数字验证.汉字验 ...
随机推荐
- linux进程
E: 进程------->进程控制块PCB 结构体 进程控制块中,存放的是指针数组------>是已经打开的文件的结构体的指针 文件描述符实际上就是指针数组的索引 e1: ps命令(进 ...
- VS低版本打开高版本解决方案(如08打开10、12、13版本vs编译的项目)
一.vs2005打开vs2008编译的项目:1.用记事本打开sln文件,将: Microsoft Visual Studio Solution File, Format Version 10.00 # ...
- PowerDesigner修改生成mysql视图
今天遇到了个问题,就是有PowerDesigner的设计图,能生成oracle的视图,不能生成mysql,在网上找到了解决方案, 非常感谢各位网友的分享,这个不是抄袭,主要是为了让更多的人知道这种解决 ...
- ExecutorService中submit()和execute()的区别
在使用java.util.concurrent下关于线程池一些类的时候,相信很多人和我一样,总是分不清submit()和execute()的区别,今天从源码方面分析总结一下. 通常,我们通过Execu ...
- 关于Telerik RadGridView 数据列拖动后异常的一种情况
目的: 想实现带有复杂表头(ColumnHeader)的列的动态加载,写了一个用户控件. 问题: 动态加载成功了,显示正常,滚动条也正常,但是一旦进行列的拖动操作之后,程序就挂掉了. 解决尝试: 反复 ...
- PHP unset()函数销毁变量 但没有实现释放内存
<?PHP $a = "hello";$b = &$a;unset( $b );echo $a; // 输出 helloecho $b; // 报错$b = &quo ...
- Sprint2团队贡献分
团队贡献分: 郭志豪:31% http://www.cnblogs.com/gzh13692021053/ 杨子健:22%http://www.cnblogs.com/yzj666/ 谭宇森:23% ...
- C++11 笔记
5.重载运算符 本质上是一个函数. 函数名为operator(+-*/--) 如果一个运算符是成员函数,其左侧运算对象就绑定到隐式的this参数上. a.拷贝赋值运算符 例如: class Foo { ...
- 词法分析程序(C)
#include <stdio.h> #include <string.h> ],word[],ch; int type,p,i,n,sum; ]={"begin&q ...
- js数组与对象性能比较
js的数组可以看成特殊的对象,获取指定项的行为跟获取对象中指定key对应项的行为是一致的. 一般都是hash map实现的,因而复杂度是常数级的.