原理版:

<!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. 构造N位格雷码(递归,面向对象)

    问题:递归打印出N位格雷码(相邻两个编码只有一位数字不同): 问题化归为:现有前N位的格雷码,如何构造N+1位的格雷码? 解决方法:采用递归构造格雷码集和. 递归出口:n = 1; 此时格雷码{0,1 ...

  2. AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题

    1. AppCompatActivity去掉标题栏 此处除掉标题栏,需要注意一点,AppCompactActivity是继承自Activity.然而,AppCompactActivity据查看网上资料 ...

  3. OSQA的配置

    1.安装Python,我安装的是python 2.7.3 2.安装setuptools 下载setuptools,并安装 安装好以后,在pyton2.7/scripts的路径下将会有easy_inst ...

  4. 总结MySQL大数据量下如何进行优化

    写在建库前: 在确定数据库业务后.建立数据库表格时,就应对一些常见问题有所考虑,以避免在数据增长一段时间后再做应对,可能造成时间及维护成本增加: 数据的月增量,年增量 数据的快速增长点 是否需要触发器 ...

  5. JDBC底层原理

    Class.forName(“com.mysql.jdbc.Driver”)是 强制JVM将com.mysql.jdbc.Driver这个类加载入内存,并将其注册到DriverManager类,然后根 ...

  6. c#(控制台应用程序)实现排序算法的研究总结

    前言:闲来无事,便研究起来对数组的排序算法,怕过后遗忘,特地总结一下,也希望能帮到大家 概要:  总结的算法: 冒泡排序.插入排序.选择排序 要排序的一列数(从小到大): 1, 5, 3, 83, 4 ...

  7. HI3531uboot开机画面

    startvo 0 36 13; startgx 0 0x88000000 1600 0 0 800 600; //startgx 0 0x88000000 2048 0 0 1024 768; se ...

  8. Android中Java和JavaScript交互

    Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本.本文将介绍如何实现Java代码和Javascript代码的相互调用. 如 ...

  9. dojo中引入FusionCharts柱状图报错

    1.今天,做项目的过程中,我发现Java后台查询的数据都是正确的,并且拼接成JSON格式也正确,但是传到JSP页面时,图无法显示出来还报错,后来经过检查发现是JavaScript和引入FusionCh ...

  10. Java中的List转换成JSON报错(四)

    1.错误描述 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/colle ...