最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区".

有个表单,简单点.

<!DOCTYPE html>
<!-- 注册表单验证,用户名格式(未加入Ajax)密码两次相同,则可提交 -->
<html>
<head>
<meta charset="UTF-8">
<!-- 实现form表单验证及跳转action -->
<title>JS2_form表单验证</title>
</head> <body>
<p>注册</p>
<form action="http://www.ykmimi.com" name="formReg"
onsubmit="return submitFunc()" method="post">
<!-- [错误方式->]onchange="unameChange()"-->
<!-- 传参this.value -->
用户名:<input type="text" name="username" id="username"
onfocus="unameFocus(this.value)" onblur="unameBlur(this.value)" /><span id="unameTag"></span>
<br />
<!-- onfocus="upass1Focus()" -->
密码:<input type="password" name="password" id="password" onfocus="upass1Focus()"
onblur="testPassword()" /><span id="upass1Tag"></span> <br />
<!-- onfocus="upass2Focus()" -->
重复密码:<input type="password" name="password2" id="password2" onfocus="upass2Focus()"
onblur="testPassword()" />
<!-- onchange="upass2Blur()" -->
<span id="upass2Tag"></span> <br /> <!-- 年龄:<input type="text" name="age" id="age" onfocus="uageFocus()" onblur="uageBlur()" /><span id="uageTag"></span> <br/> --> <input type="submit" value="提交" />
</form> <hr>
<br>
待完善: <br>
1.bootstrap框架引入. <br>
2.后台判定. <br>
3.Ajax判定用户名是否存在. <br>
4. </body>
<!-- 引入外部js,判定注册账户账户信息 -->
<script type="text/javascript" src="scripts/reg2.js"> </script>
</html>

然后这个reg2.js

:

/**
* 用户注册界面JS
*/ // ///*[[用户名的焦点和失焦方法]]
// 验证用户名格式长度.等,Focus时
function unameFocus() {
// 获取id为username中的数据值
var unameObj = document.querySelector("#username");
// 获取具体值
var uname = unameObj.value; if (uname.length == 0 || uname=="") {
document.querySelector("#unameTag").innerHTML = "请输入用户名,长度不小于3位.";
return false;
}
}
// 验证用户名格式长度,等, Blur时
function unameBlur() { // 获取document对象
var unameObj = document.querySelector("#username");
var upass1Obj = document.querySelector("#password");
var upass1Tag = document.querySelector("#upass1Tag");
var upass2Obj = document.querySelector("#password2");
var upass2Tag = document.querySelector("#upass2Tag");
// 获取具体值
var uname = unameObj.value; var unameTag = document.querySelector("#unameTag"); if (uname.length == 0 || uname=="" || uname.length < 3) {
unameTag.innerHTML = "请输入用户名,长度不小于3位.";
upass1Tag.innerHTML = "";
upass2Tag.innerHTML = "";
upass1Obj.value = "";
upass2Obj.value = "";
return false;
} else {
unameTag.innerHTML = "用户名可用.";
return true;
}
} // ///*[[用户密码的判定 重复密码是否相同,长短等]]
// 用户密码1 Focus时
function upass1Focus() {
// 获取document对象
var upass1Obj = document.querySelector("#password");
var upass1Tag = document.querySelector("#upass1Tag");
// 获取具体值 (第一种方式)
// var upass1 = upass1Obj.value; // 另一种获取value的方式: √
var upass1 = document.formReg.password.value; // 判定是否满足密码的格式条件
if (upass1.length == 0 || upass1=="") {
upass1Tag.innerHTML = "输入密码,密码长度不小于6位,两次密码需输入一致,且不能有非法字符如%,*,#";
return false;
}
}
// 用户密码1 Blur时
function upass1Blur() {
// 获取document对象
var upass1Obj = document.querySelector("#password");
var upass1Tag = document.querySelector("#upass1Tag");
// 获取具体值
var upass1 = upass1Obj.value; // 判定是否满足密码的格式条件
if (upass1.length == 0 || upass1=="" || upass1.length < 6) {
upass1Tag.innerHTML = "输入密码,密码长度不小于6位.谢谢合作

JS判定注册表单的几个方式 及 Ajax进行用户名存在判定的更多相关文章

  1. 模拟js中注册表单验证

    示例1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  2. 使用JS完成注册表单的数据校验

    1.前台校验 防君子不防小人 JavaScript被设计用来向HTML页面添加交互行为 JavaScript是一种脚本语言(脚本语言是一种轻量级的编程语言) JavaScript由数行可执行计算机代码 ...

  3. 4.前端注册表单验证 && 表单回填

    表单验证 前端表单验证就是在 jsp 页面中添加验证逻辑,使得注册表单在传入后台之前先进行一次表单验证 在jsp文件里的 head 块里面添加 jQuery 代码 <script type=&q ...

  4. 表单验证—js循环所有表单验证

    [封装为表单验证的专用js,所有表单页面都可以调用] 1.表单 <form id="regForm" method="post" action=" ...

  5. 一款基于jQuery的带Tooltip表单验证的注册表单

    今天给大家分享一款基于jQuery的注册表单,这款注册表单的特点是确认提交注册信息时,表单会自动验证所填写的信息,如果信息填写有误,即会在相应的字段内以Tooltip提示框的形式显示错误信息.这款jQ ...

  6. 第一百六十节,封装库--JavaScript,ajax注册表单到数据库

    封装库--JavaScript,ajax注册表单到数据库 效果图 前台js var biaodan = $().xu_lie_biao_dan($('form').sh_jd()); //序列化获取表 ...

  7. ajax 提交 注册表单 到MySQL数据库

    今天按照要求,要做一个登陆.注册表单,本来样式做好就行了,本来咱就是干前端的,但让咱自己都没想到的是,不到一个小时竟然都干完了,实在闲的蛋疼,就想到链接数据库玩,遥想当年,毕竟咱也是写过后台的,哪知, ...

  8. 第一百八十四节,jQuery-UI,验证注册表单

    jQuery-UI,验证注册表单 html <form id="reg" action="123.html" title="会员注册" ...

  9. CSS3制作分步注册表单

    这个DEMO是使用CSS3制作的一个分步注册表单,每个input对应的是每一步,在表单得到焦点时,对应的step也会进行对应的改变.不过这个效果是使用js代码来实现,但整个表单的外观是由CSS3来完成 ...

随机推荐

  1. ubuntu 关闭显示器的命令

    sleep 2s ; gnome-screensaver-command -a或sleep 2s ; xset dpms force off2秒后关闭显示器

  2. 单源最短路(spfa),删边求和

    http://acm.hdu.edu.cn/showproblem.php?pid=2433 Travel Time Limit: 10000/2000 MS (Java/Others)    Mem ...

  3. chorme快捷键

    Chrome窗口和标签页快捷键:Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 按 ...

  4. 理解 php new static

    今天在看 Laravel 的容器(Container)实现时,发现了这么一段突然不能理解的代码: ** * Set the globally available instance of the con ...

  5. 7.1 - CRM系统

    一.简介 crm 客户关系管理软件 ( Customer Relationship Management ) ( 详细内容 ) stark组件(仿admin组件)( 详细内容 ) rbac组件(基于角 ...

  6. MFC截图和界面刷新相关问题

    问题描写叙述:         就是首先用CDC来截图,保存图片的路径通过dlg窗体来手动设置并传入.但是截下来的图片就会连带那个对话框也截图下来.         就是这样.我想截后面那个图.前面这 ...

  7. android 第三方框架

    1.视频:jcvideoplayer 2.圆角:cardview 3.圆形头像:circleimageview 4.加载网络图片:universalimageloader 5.网络请求:xutils ...

  8. MySQL 的mysqldump备份

    MySQL 的mysqldump备份 来自<mysql技术内幕 innodb存储引擎> --single-transaction:只对innodb表有效 --lock-tables:对My ...

  9. HBase1.2.0增删改查Scala代码实现

    增删改查工具类 class HbaseUtils { /** * 获取管理员对象 * * @param conf 对hbase client配置一些参数 * @return 返回hbase的HBase ...

  10. loadrunner11的移动端性能测试之脚本优化

    测试步骤之脚本优化(Script) 看到这里,是不是疑惑录制好的脚本还需要优化吗,答案是肯定的. 优化概要 脚本优化包括插入注释(Comment),插入事务(Transaction),插入检查点(Ch ...