封装库--JavaScript,表单验证--验证用户名

注册验证功能,顾名思义就是验证表单中每个字段的合法性,如果全部合法才可以提交表单。

效果图

聚集光标时

信息不合法是

信息合法时

html

<div id="reg">
<h2 class="tuo"><img src="img/close.png" alt="" class="close" />会员注册</h2>
<form name="reg">
<dl>
<dd>用 户 名: <input type="text" name="user" class="text"/>
<span class="info info_user">请输入用户名,4~20位,由字母、数字和下划线组成!</span>
<span class="error error_user">输入不合法,请重新输入!</span>
<span class="succ succ_user">可用</span>
</dd>
<dd>密  码: <input type="password" name="pass" class="text"/></dd>
<dd>密码确认: <input type="password" name="notpass" class="text"/></dd>
<dd><span style="vertical-align:-2px">提  问:</span> <select name="ques">
<option value="0">- - - - 请选择 - - - -</option>
<option value="1">- - 您最喜欢吃的菜</option>
<option value="2">- - 您的狗狗的名字</option>
<option value="3">- - 您的出生地</option>
<option value="4">- - 您最喜欢的明星</option>
</select></dd>
<dd>回  答: <input type="text" name="ans" class="text"/></dd>
<dd>电子邮件: <input type="text" name="email" class="text"/></dd>
<dd class="birthday"><span style="vertical-align:-2px">生  日:</span> <select name="year">
<option value="0">- 请选择 -</option>
</select> 年
<select name="month">
<option value="0">- 请选择 -</option>
</select> 月
<select name="day">
<option value="0">- 请选择 -</option>
</select> 日
</dd>
<dd style="height:105px;"><span style="vertical-align:85px">备  注:</span> <textarea name="ps"></textarea>
</dd>
<dd style="padding:0 0 0 320px;">还可以输入200字</dd>
<dd style="padding:0 0 0 80px;"><input type="button" class="submit"/></dd>
</dl>
</form>
</div>

css

/*注册*/
#reg {
width:600px;
height:550px;
border:1px solid #ccc;
position:absolute;
display:none;
z-index:;
background:#fff;
}
#reg h2 {
height:40px;
line-height:40px;
text-align:center;
font-size:14px;
letter-spacing:1px;
color:#666;
background:url(img/login_header.png) repeat-x;
margin:;
padding:;
border-bottom:1px solid #ccc;
margin:0 0 20px 0;
cursor:move;
}
#reg h2 img {
float:right;
position:relative;
top:14px;
right:8px;
cursor:pointer;
}
#reg dl {
font-size:14px;
color:#666;
margin:20px;
padding:0 0 0 10px;
}
#reg dl dd {
height:30px;
padding:5px 0;
}
#reg dl dd input.text, #reg dl dd select {
width:200px;
height:25px;
border:1px solid #ccc;
background:#fff;
font-size:14px;
color:#666;
}
#reg dl dd select {
width:202px;
}
#reg dl dd.birthday select {
width:100px;
}
#reg dl dd textarea {
width:360px;
height:100px;
background:#fff;
border:1px solid #ccc;
}
#reg dl dd input.submit {
width:143px;
height:33px;
background:url(img/reg.png) no-repeat;
border:none;
cursor:pointer;
} /*注册提示*/
/*用户名提示*/
#reg dl dd span.info, #reg dl dd span.error, #reg dl dd span.succ {
display:block;
font-size:12px;
color:#333;
width:165px;
height:32px;
line-height:32px;
padding:0 0 0 35px;
position:absolute;
letter-spacing:1px;
display:none;
}
#reg dl dd span.info {
background:url(img/reg_info.png) no-repeat;
}
#reg dl dd span.error {
background:url(img/reg_error.png) no-repeat;
}
#reg dl dd span.succ {
height:14px;
line-height:14px;
background:url(img/reg_succ.png) no-repeat;
padding:0 0 0 20px;
color:green;
}
/*输入*/
#reg dl dd span.info_user {
height:43px;
line-height:18px;
padding-top:7px;
background:url(img/reg_info2.png) no-repeat;
top:60px;
left:310px;
/*display:block;*/
}
/*错误*/
#reg dl dd span.error_user {
top:60px;
left:310px;
/*display:block;*/
}
/*可用*/
#reg dl dd span.succ_user {
top:70px;
left:315px;
/*display:block;*/
}

前台js

// 表单验证
//验证用户名
$('form').hq_form_name('user').yuan_su_shi_jian('focus', function () { //给用户名设置聚集光标事件
$('#reg .info_user').xian_shi(); //当聚集光标时显示输入提示
$('#reg .error_user').yin_cang();
$('#reg .succ_user').yin_cang();
}).yuan_su_shi_jian('blur', function () { //给用户名设置光标离开事件 if (trim($(this).hq_value()) == ''){ //当光标离开时判断,输入框是否为空
$('#reg .info_user').yin_cang(); //如果输入框为空,隐藏输入提示
$('#reg .error_user').xian_shi();
}else if (!/[a-zA-Z0-9_]{4,20}/.test(trim($(this).hq_value()))){ //如果输入的信息不符合提示要求
$('#reg .error_user').xian_shi(); //显示错误提示
$('#reg .info_user').yin_cang();
$('#reg .succ_user').yin_cang();
}else{
$('#reg .succ_user').xian_shi();
$('#reg .info_user').yin_cang();
$('#reg .error_user').yin_cang();
} });

首先引入函数库和封装库

第一百四十九节,封装库--JavaScript,表单验证--验证用户名的更多相关文章

  1. 第一百四十八节,封装库--JavaScript,菜单切换

    第一百四十八节,封装库--JavaScript,菜单切换 首先在封装库封装点击切换方法 /** dian_ji_qie_huan()方法,设置点击切换,将元素设置成点击切换,也就是点击目标元素后,循环 ...

  2. 第二百四十九节,Bootstrap附加导航插件

    第二百四十九节,Bootstrap附加导航插件 学习要点: 1.附加导航插件 本节课我们主要学习一下 Bootstrap 中的附加导航插件 一.附加导航 注意:此插件要使用 bootstrap3.0. ...

  3. 第三百四十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制

    第三百四十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用.自动限速.自定义spider的settings,对抗反爬机制 cookie禁用 就是在Scrapy的配置文件set ...

  4. 第一百五十八节,封装库--JavaScript,ajax说明

    封装库--JavaScript,ajax说明 封装库ajax()方法,ajax通讯方法,跨页面向动态页面发送或获取数据 /** ajax()方法,ajax通讯方法,跨页面向动态页面发送或获取数据 * ...

  5. 第一百五十三节,封装库--JavaScript,表单验证--备注字数验证

    封装库--JavaScript,表单验证--备注字数验证 效果图 html <div id="reg"> <h2 class="tuo"> ...

  6. 第一百五十二节,封装库--JavaScript,表单验证--年月日注入

    封装库--JavaScript,表单验证--年月日注入 效果图 html <div id="reg"> <h2 class="tuo"> ...

  7. 第一百四十五节,JavaScript,同步动画

    JavaScript,同步动画 将上一节的,移动透明动画,修改成可以支持同步动画,也就是可以给这个动画方法多个动画任务,让它同时完成 原理: 向方法里添加一个属性,这个属性是一个对象,同步动画属性,属 ...

  8. 第一百四十六节,JavaScript,百度分享保持居中--下拉菜单

    JavaScript,百度分享保持居中--下拉菜单 百度分享保持居中 效果图 html代码 <div id="share"> <h2>分享到</h2& ...

  9. 第一百一十九节,JavaScript事件入门

    JavaScript事件入门 学习要点: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操 ...

随机推荐

  1. js文件加载执行顺序

    转自:http://blog.163.com/water_down/blog/static/170276590201111711243458/ <script type="text/j ...

  2. SQLServer:探讨EXEC与sp_executesql的区别详解

    摘要 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的 ...

  3. 算法笔记_104:蓝桥杯练习 算法提高 新建Microsoft Word文档(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 L正在出题,新建了一个word文档,想不好取什么名字,身旁一人惊问:“你出的题目叫<新建Microsoft Word文档>吗? ...

  4. JavaScript Map 实现

    //定义map function Map() { this.container = {}; } //将key-value放入map中 Map.prototype.put = function(key, ...

  5. 01-hibernate注解:类级别注解准备工作

    注解简介: 目的:为了简化繁琐的ORM映射文件(.hbm)的配置. JPA与hibernate的关系 JPA:全称 java Persistence API(java持久化API接口) JPA注解是J ...

  6. Java中正数与负数操作>>、>>>的区别

    以下为个人理解,有不对的地方请提出 Java中,>>.>>>都是在数字的二进制的补码中进行的 正数的补码为本身 如33的二进制表示为 00000000 00000000 ...

  7. TypeScript 映射类型

    typescript支持定义类型加入推导式后产生新的类型 属性不变 但会改变对象的使用方式 这个是类型Person中加入ReadOnly推导出的新类型 他的属性全部是只读的 这个是推导出部分属性 这是 ...

  8. js中加入数据缓存

    因为我们的系统设计 所有的数据查询全部是采用参数化json 后台解析后进行数据返回 由于使用统一的数据查询入口 所有可以很方便的为数据设置缓存 var ModelDataCache = new Arr ...

  9. tomcat下运行war包

    例如你下的包名test.war直接放入webapps目录下,到bin目录下双击启动startup.bat,不要关掉tomcat控制台窗口,回到webapps下应该要看到自动解压出一个test的目录,如 ...

  10. Tcp Ip -- tcpdump win窗口大小

    问题介绍 今天,有内部模块与外部系统断连. (外部系统smgw,内部接口interface) smgw <----> interface 有消息交互. 通过tcpdump -xns0 po ...