表单验证--通过原生js模仿ajax的异步交互
今天给大家带来个福利,我也是刚刚学习的很实用的一个东西,通过原生js模仿ajax的异步交互。
我的博客只是给那些新手看的大神勿喷,写的不好可留言,请指出。
因为当初自己学的时候一个问题不会找人问,知道初学者都不容易,所以我在我的博客中分享自己的学习经验,以及一些好玩的东西!!
废话不多说开始吧:
还是从最初讲:表单:html+css+js
先是HTML:
表单
表单HTML代码:
<form id="reg" title="注册">
<div class="user">
<span>姓名:</span>
<input type="text" name="user" placeholder="请输入用户名" onblur="judge(this)">
<span></span>
</div>
<div class="mima">
<span>密码:</span>
<input type="text" name="pass" placeholder="请输入密码" onblur="judge(this)">
<span></span>
</div>
<div class="chongfu">
<span>重复密码:</span>
<input type="text" name="passag" placeholder="重复输入密码" onblur="judge(this)">
<span></span>
</div>
<div class="zc">
<input class="sub" type="submit" value="立即注册">
</div>
</form> JS代码:
//创建加载完成验证表单
window.onload = function (){
//获取input name名为user的元素
var user = document.querySelector("input[name=user]");
//获取input name名为pass的元素
var pass = document.querySelector("input[name=pass]");
//获取input name名为passag
var passag = document.querySelector("input[name=passag]");
/*用户名所在的input发生改变执行函数*/
user.onblur = function(){
//判断表单中name为user的元素的value值是否为空
if(user.value == ""){
//如果为空在当前元素的兄弟集span里面写入内容文字为账号不能为空
this.parentNode.querySelector("input+span").innerText="账号不能为空";
}else{
//如果不为空则不在兄弟集span里面写入文字
this.parentNode.querySelector("input+span").innerText="";
}
}
/*密码*/
pass.onblur = function() {
//判断表单中name为pass的元素的value值是否为空
if(pass.value == ""){
this.parentNode.querySelector("input+span").innerText="密码不能为空";
}else{
/*创建密码正则表达式*/
var pae = /^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{8,12}$/;
/*用正则表达式匹配密码*/
paep = pae.test(pass.value);
/*判断匹配的结果*/
if(!paep){
//不为真则在兄弟集写入文字内容密码格式不正确,然后input清空输入的内容
this.parentNode.querySelector("input+span").innerText="密码格式不正确";
pass.value="";
} else{
this.parentNode.querySelector("input+span").innerText="";
}
}
}
/*重复密码*/
passag.onblur = function() {
//判断表单中name为passag的元素的value值是否为空
if(passag.value == ""){
this.parentNode.querySelector("input+span").innerText="重复密码不能为空";
}else{
console.log(pass.value);
if(passag.value !== pass.value) {
this.parentNode.querySelector("input+span").innerText="密码不一致,请重新输入";
passag.value="";
} else {
this.parentNode.querySelector("input+span").innerText="";
}
}
} 其他的邮箱,验证都是同样的道理 CSS样式:这个就不多做讲解了,根据自己需求写自己的css样式
表单验证--通过原生js模仿ajax的异步交互的更多相关文章
- 表单验证的validate.js插件---jQuery Validation Plugin
早上在公交车上看了一个关于慕课网的教程<表单验证的validate.js插件---jQuery Validation Plugin>,正好可以用到自己近期开发简易微博的注册页面和登录页面, ...
- JavaScript | 基础表单验证(纯Js)
———————————————————————————————————————————— 基础表单验证(纯js) - - - - - - - - - - - - - - - - - - - - - - ...
- ajax和servlet交互,表单日历插件,表单验证,form.js
我的index.jsp <body> <a>点我获取数据</a> <table border=1px> <tr> <td>ID& ...
- 表单验证之validform.js使用方法
一.validform有什么用? 网页上有大量的input需要你进行验证的时候,如果是弹窗的话,需要不停地判断,如果为空,弹窗.如果不是数字,弹窗. 所以要将这么多验证交给一个js去验证. 二.我现在 ...
- jQuery 表单验证 jquery.validator.js
前端开发中经常会碰到表单的制作,其中必备的功能就是提交前的一些简单的验证,非空啊.手机号码啊.E-mail等等等等,这里是一个 jQuery 的表单验证插件,蛮好用的,收录一下. 下面是验证的效果图: ...
- 表单验证插件-validator.js 使用教程
做网站的时候,常常会涉及到各种表单验证.选择一款好用的表单验证插件,会降低表单验证开发的难度.在开发中,我目前使用的表单验证插件是:validator.js. validator.js 是一款轻量的表 ...
- jquery.validate.js表单验证 jquery.validate.js的用法
jquery.validate.js这个插件已经用了2年多了,是一个不可多得的表单验证最方便快捷的插件.基于jquery的小插件,基本小白一学就会上手,对于项目表单页面比较多,元素比较多的校验,该插件 ...
- 表单验证常用的JS正则表达式
在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份 ...
- aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)
这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲 上面是效果,下面来说使用步骤 jQuery.Valid ...
随机推荐
- 把中文版NetBeans改成英文版
不管你从官网下的是英文版还是中文版,安装之后操作界面都是中文的.这是因为NetBeans会根据你的操作系统自动设置界面语言,并且没有提供更改的功能.解决的方法也很简单,下面介绍我用过的两种方法: 方法 ...
- ds18b20再硬件设计部分的注意事项
1.DS18B20的供电方式: ps:寄生电源不是实际的电源器件,而是一种供电方式,即通过数据线供电. 如下面的两张图片所示,分别为外部供电模式下单只和多只DS18B20测温系统的典型电路连接图. ( ...
- strace 分析 跟踪 进程错误
strace是什么? 按照strace官网的描述, strace是一个可用于诊断.调试和教学的Linux用户空间跟踪器.我们用它来监控用户空间进程和内核的交互,比如系统调用.信号传递.进程状态变更等. ...
- JUnit----单元测试
为什么进行单元测试? 1. 重用测试, 应付将来实现的变化. 2. 明确指定我的东西是没问题的. Failure, error的区别? Failure只测试失败, Error指程序本身出错 1. ne ...
- Linux环境变量相关文件
执行顺序为: /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/ ...
- 控制流之for
for..in是另外一个循环语句,它在一序列的对象上 递归 即逐一使用队列中的每个项目.我们会在后面的章节中更加详细地学习序列.使用for语句~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- (中等) POJ 1084 Square Destroyer , DLX+可重复覆盖。
Description The left figure below shows a complete 3*3 grid made with 2*(3*4) (=24) matchsticks. The ...
- JAVA基础--适配器模式
interface Window{ // 定义Window接口,表示窗口操作 public void open() ; // 打开 public void close() ; // 关闭 public ...
- Mac下安装包管理平台Homebrew(Mac 10.12)
在终端上输入: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/maste ...
- JS利用短路原理简写if语句
看GoogleDoodle-Dance的源代码,学习到一个小知识——简写if语句. 几乎所有语言中||和&&都遵循“短路”原理,如&&中第一个表达式为假就不会去处理第二 ...