原理版:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单验证</title>
<style>
* {
padding: 0;
margin: 0;
} #myForm {
width: 400px;
padding: 20px;
margin: 50px auto;
border: 1px solid #eee;
} input {
margin: 20px 20px 20px 10px;
padding: 5px 10px;
}
</style>
<script src="../js/jquery.min.js"></script>
<script>
$(function () {
var flag = false;
// blur: 元素失去光标触发的事件;
$("#txt").blur(function () {
var re = /\w+@\w+(\.\w){1,3}/;
if (re.test($(this).val())) {
$("span").eq(0).html("输入正确").css("color", "green");
flag1 = true;
} else {
$("span").eq(0).html("格式错误").css("color", "red");
flag1 = false;
}
})
$("#pwd").blur(function () {
// ^: 在中括号里表示取反(排除), 在中括号外表示从头开始;
// $: 表示结尾。
var re = /^\S{6,12}$/;
if ( re.test($(this).val()) ) {
$("span").eq(1).html("输入正确").css("color", "green");
flag2 = true;
} else {
$("span").eq(1).html("格式错误").css("color", "red");
flag2 = false;
}
})
$(":submit").click( function () {
// triggerHandler: 自动触发事件;
$("#txt").triggerHandler("blur");
$("#pwd").triggerHandler("blur");
if ( flag1 == false || flag2 == false ) {
return false;
}
})
})
</script>
</head>
<body>
<form action="http://www.baidu.com" id="myForm">
邮箱: <input type="text" id="txt"><span></span> <br>
密码: <input type="password" name="" id="pwd"><span></span> <br>
<input type="submit" value="提交">
</form> </body>
</html>

升级适应版:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.ok {
color: green;
} .error {
color: red;
}
</style>
<script src="../js/jquery.min.js"></script>
<script>
$(function () {
$("#user").blur(function () {
var re = /\w+@\w+(\.\w+){1,3}$/;
if ($(this).parent().find(".ok,.error").length > 0) {
$(this).parent().find(".ok,.error").remove();
}
if (re.test($(this).val())) {
$(this).parent().append("<span class='ok'>格式正确</span>");
} else {
$(this).parent().append("<span class='error'>格式错误</span>");
}
});
$("#pwd").blur(function () {
var re = /\w{6,20}$/;
if ($(this).parent().find(".ok,.error").length > 0) {
$(this).parent().find(".ok,.error").remove();
}
if (re.test($(this).val())) {
$(this).parent().append("<span class='ok'>格式正确</span>");
} else {
$(this).parent().append("<span class='error'>格式错误</span>");
}
});
$(":submit").click(function () {
$("#user").triggerHandler("blur");
$("#pwd").triggerHandler("blur");
if ($("#userForm").find(".error").length > 0) {
return false;
}
});
});
</script>
</head>
<body>
<form action="http://www.baidu.com" id="userForm">
<p>
邮箱: <input type="text" name="" id="user">
</p>
<p>
密码: <input type="text" name="" id="pwd">
</p>
<p>
<input type="submit" value="注册" id="reg">
</p>
</form>
</body>
</html>

 

邮箱&&密码验证-原理的更多相关文章

  1. javascript,html,正则表达式,邮箱密码验证

    <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">   ...

  2. spring security的BCryptPasswordEncoder加密和对密码验证的原理

    目录 BCryptPasswordEncoder加密和对密码验证的原理 一.加密算法和hash算法的区别 二.源码解析 1. encode方法 2. BCrypt.hashpw方法 3. matche ...

  3. shopnc 支持 支付宝快捷登陆 shopnc权限验证原理说明

    为目前使用的是shopnc商场二次开发,shopnc本身做了qq互联和微博快捷登陆的api,做成了集成通用的接口 首先说下基本的这种类型的api访问方式,首先,的有个配置文件,配置你申请的id和key ...

  4. 【WCF】使用“用户名/密码”验证的合理方法

    我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...

  5. Java实现注册邮箱激活验证

    邮件发送servelet实现 package com.xbs.register.main; import java.io.IOException;import java.util.Date;impor ...

  6. 跑PIN码破解无线网络WIFI密码的原理分析(转)

    你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网? 想要了解这些,必须要了解加密以及破解原理. 工具/原料 电脑 足够多足够好的wifi信号源 usb无线网卡(非必需) 一 ...

  7. 一个基于POP3协议进行邮箱账号验证的类

    最近老陈要针对企业邮箱做一些开发,以对接企业OA神马的,但企业邮箱唯独没有开放账号密码验证功能,很恼火!不得已,翻出早些年的Asp代码改编成了C#类,实现了一个C#下的通过POP3协议进行邮箱账号验证 ...

  8. NT平台ADSL拨号连接密码恢复原理

    NT平台拨号连接密码恢复原理 创建时间:2004-11-08 更新时间:2004-11-12文章属性:原创文章提交:eyas (eyas_at_xfocus.org)NT平台拨号连接密码恢复原理Aut ...

  9. Discuz常见小问题-如何设置163邮箱注册验证

    参考网址: https://jingyan.baidu.com/album/c843ea0b804a6e77931e4aa7.html?picindex=3 http://www.discuz.net ...

随机推荐

  1. Java中的return关键字

    Java常见面试题之一: try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?  请看下面程序就可以解释 ...

  2. 动态添加数据源,根据用户登录切换数据库.编程式Spring事务.

    根据用户注册,系统自动创建私有数据库,用户登录,动态添加数据源到Spring数据路由,Session超时删除数据源 好处:当数据量大的时候,类似水平切割效果,效率会高一些 坏处:数据源切换,Sprin ...

  3. Zookeeper笔记3——原理及其安装使用

    Zookeeper到底能干什么? 1.配置管理:这个好理解.分布式系统都有好多机器,Zookeeper提供了这样的一种服务:一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣 ...

  4. 终于,我也要出一本C#的书了 - 我的写作历程与C#书单推荐

    我之前的面试题停了很久,是因为 - 我写书去了. 前言 我于2012年3月开始工作,到现在马上就满六年了.这六年里,我从一个连Sql server是什么都不知道,只会写最简单的c#的程序员开始做起,一 ...

  5. linux云计算(keystone swift cinder配置)

    独立安装openstack组件 准备服务器,为安装openstack的服务器加3块额外硬盘 qemu-img create -f qcow2 rh71.img 20G qemu-img create ...

  6. 微信开源的Android热补丁框架 Tinker

    前不久,微信开源了其Android热补丁框架Tinker,它的特别之处在于放在github.com/Tencent下面,是该账号下第一个正式的开源项目,可以看到腾讯对它的重视和认可. 早在6月份微信客 ...

  7. MySQL更改数据库表的存储引擎

    MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...

  8. IOS开发之XCode学习012:Slider和ProgressView

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UISlider和UIProgressV ...

  9. SpringMVC_第一个程序

    一.基本代码的完成 补充 1.在myeclipse中 WEB-INF下放的资源和WebRoot下的资源区别: WEB-INF下放到资源是不能通过浏览器直接访问的,是比较安全的,只能是后台服务端程序进行 ...

  10. 异常---ment.getElementById("searchForm").submit is not a function

    今天在写代码的时候JS一直报上面这个错.搞了半天一直想不明白 .我看别的页面都是这样写了就是没有一点错.. 可能是写了一个晚上的代码..头有点晕..后来终于找到原因了..浪费我两个小时啊..杯具.. ...