分享jquery网站:http://www.css88.com/jqapi-1.9/focusout/

 $(document).ready(function() {

     var bool_user = false;
var bool_mail = false;
var bool_pwd1 = false;
var bool_pwd2 = false;
var bool_code = false; $("#username").focusin(function(){
$('#p_username').css('color', '#666');
}); $("#username").focusout(function() { $('#p_username').css('color', '#A5A5A5'); var pattern = /^[A-Za-z0-9_\u4e00-\u9fa5]+$/;
var username = $("#username").val(); var username_tmp = username.replace(/[^\x00-\xff]/g, 'xx'); $("#div_usrename").html("内容");
if (username != '') {
$("#div_usrename").empty(); if (username_tmp.length < 4 || username_tmp.length > 20) { $("#div_usrename").addClass("err1");
$("#div_usrename").append("内容");
} else if (!pattern.test(username)) {
$("#div_usrename").addClass("err1");
$("#div_usrename").append("内容");
} else { $.ajax({
type: 'post',
url: '/site/checkUsername',
data: "username=" + username,
success: function(data) {
data = eval("(" + data + ")");
if (data.flag == 1) {
$("#div_usrename").removeClass('err1').addClass('rig1').html("内容");
bool_user = true;
} else {
$("#div_usrename").addClass("err1");
$("#div_usrename").html("内容");
}
}
})
}
} else {
$("#div_usrename").addClass('err1').html("内容");
}
}); $("#email").focusin(function(){
$('#p_email').css('color', '#666');
}); $("#email").focusout(function() { $('#p_email').css('color', '#A5A5A5'); var pattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; var email = $("#email").val(); if (email != '') {
$("#div_email").empty();
$("#div_email").html("内容");
if (pattern.test(email)) {
$.ajax({
type: 'post',
url: '/site/checkEmail',
data: "email=" + email,
success: function(data) {
data = eval("(" + data + ")");
if (data.flag == 1) {
$("#div_email").removeClass('err1').addClass('rig1').html('');
bool_mail = true;
} else if(data.flag == -1){
$("#div_email").addClass('err1').html("内容");
} else if(data.flag == -2){
$("#div_email").addClass('err1').html("内容");
} else if(data.flag == -3){
$("#div_email").addClass('err1').html("内容");
} else if(data.flag == -4){
$("#div_email").addClass('err1').html("内容");
} else {
$("#div_email").addClass('err1').html("内容");
}
}
})
} else {
$("#div_email").addClass('err1').html("内容");
}
} else {
$("#div_email").addClass('err1').html("内容");
}
}); $("#pwd1").focusin(function(){
$('#p_pwd1').css('color', '#666');
}); $("#pwd1").focusout(function(){
$('#p_pwd1').css('color', '#A5A5A5');
}); $("#pwd1").keyup(function() { $('#p_pwd1').css('color', '#666'); var username = $('#username').val();
var pwd1 = $("#pwd1").val(); if (pwd1 != '') {
$("#div_pwd1").empty(); var score = testpass(pwd1,username); if (score == -4) {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
$("#div_pwd1").addClass('err1').html("内容");
} else if (score == -2 ) {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
$("#div_pwd1").addClass('err1').html("内容");
} else { if(score >= 70){
$('#pwdsbox1').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox2').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox3').removeClass('pwds').addClass('pwdsb');
bool_pwd1 = true;
$("#div_pwd1").removeClass('err1').addClass('rig1').html("");
} else if(score >= 30){
$('#pwdsbox1').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox2').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
bool_pwd1 = true;
$("#div_pwd1").removeClass('err1').addClass('rig1').html("");
} else if(score >= 1){
$("#div_pwd1").addClass('err1').html("内容");
$('#pwdsbox1').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
} else {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
}
}
} else {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
$("#div_pwd1").addClass('err1').html("内容");
}
}); $("#pwd2").focusin(function(){
$('#p_pwd2').css('color', '#666');
}); $("#pwd2").focusout(function() { $('#p_pwd2').css('color', '#A5A5A5'); var pwd1 = $("#pwd1").val();
var pwd2 = $("#pwd2").val(); if (pwd2 != '') {
if (pwd1 == pwd2) {
$("#div_pwd2").removeClass('err1').addClass('rig1').html("");
bool_pwd2 = true;
} else {
$("#div_pwd2").addClass('err1').html("内容");
} } else {
$("#div_pwd2").addClass('err1').html("内容");
}
}); $("#code").focusout(function() {
var code = $("#code").val();
if (code != '') {
$("#div_code").html("内容");
$.ajax({
type: 'post',
url: '/site/checkVerifycode',
data: "code=" + code,
success: function(data) {
data = eval("(" + data + ")");
if (data.flag == 1) {
$("#div_code").removeClass('err1').addClass('rig1').html("");
bool_code = true;
} else {
$("#div_code").addClass('err1').html("内容");
}
}
})
} else {
$("#div_code").addClass('err1').html("内容");
}
}); $("#submit").click(function() {
if (bool_user && bool_pwd1 && bool_pwd2 && bool_code && bool_mail) {
return true;
} else {
if ($("#username").val() == "") {
$("#div_usrename").addClass('err1').html("请输入用户名");
}
if ($("#pwd1").val() == "") {
$("#div_pwd1").addClass('err1').html("内容");
}
if ($("#pwd2").val() == "") {
$("#div_pwd2").addClass('err1').html("内容");
}
if ($("#email").val() == "") {
$("#div_email").addClass('err1').html("内容");
}
if ($("#code").val() == "") {
$("#div_code").addClass('err1').html("内容");
}
return false;
}
});
}); function testpass(password, username) {
var score = 0;
if (password.length < 6 || password.length > 24) {
return - 4;
}
if (typeof(username) != 'undefined' && password.toLowerCase() == username.toLowerCase()) {
return - 2
}
score += password.length * 4;
score += (repeat(1, password).length - password.length) * 1;
score += (repeat(2, password).length - password.length) * 1;
score += (repeat(3, password).length - password.length) * 1;
score += (repeat(4, password).length - password.length) * 1;
if (password.match(/(.*[0-9].*[0-9].*[0-9])/)) {
score += 5;
}
if (password.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) {
score += 5;
}
if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {
score += 10;
}
if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) {
score += 15;
}
if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([0-9])/)) {
score += 15;
}
if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([a-zA-Z])/)) {
score += 15;
}
if (password.match(/^\w+$/) || password.match(/^\d+$/)) {
score -= 10;
}
if (score < 0) {
score = 0;
}
if (score > 100) {
score = 100;
}
return score; } function repeat(len, str) {
var res = "";
for (var i = 0; i < str.length; i++) {
var repeated = true;
for (var j = 0,
max = str.length - i - len; j < len && j < max; j++) {
repeated = repeated && (str.charAt(j + i) == str.charAt(j + i + len));
}
if (j < len) repeated = false;
if (repeated) {
i += len - 1;
repeated = false;
} else {
res += str.charAt(i);
}
}
return res;
}

Ajax注册验证js代码的更多相关文章

  1. Ajax注册验证用户名是否存在 ——引自百度经验

    Ajax注册验证用户名是否存在 http://jingyan.baidu.com/article/a948d6515fdf870a2dcd2e85.html

  2. ajax同步请求JS代码

    ajax同步请求JS代码 <script type="text/javascript"> var txt = document.getElementById('txt' ...

  3. 身份证验证JS代码

    身份证验证JS程序function checkidcardfun(code) { var city = {11: "北京", 12: "天津", 13: &qu ...

  4. 中国第二代身份证验证js代码

    以下这部分代码截取自盛大的某个网页.详细我就不给url了.以下是相应的js代码: iW = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); iSum ...

  5. tp框架实现ajax注册验证

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Flask博客类登录注册验证模块代码(十四)

    1 文件系统 blog #博客类 App forms #表单 __init__.py user.py models #模型 __init__.py user.py static #静态文件 templ ...

  7. ajax登录验证-js

    1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  8. 将form转为ajax提交的js代码

    参考网络代码基础上进行修改,调试通过. 在html中插入下面的代码: 函数ajaxSubmit是submit的ajax形式. 注意:这里面使用到了jquery库 //<!--将form中的值转换 ...

  9. Yii用AJAX注册验证

    <script type="text/javascript"> $(document).ready(function(){ $('#RegisterForm_usern ...

随机推荐

  1. form表单中的submit点击时阻止提交

    在form 中增加onsubmit="return false;"属性.

  2. android 入门-布局

    android:gravity 针对本view 的位置. android:layout_gravity 本view相对于父布局view的位置. android:layout_alignParentRi ...

  3. [Spring Batch] 图解Spring Batch原理

    找到一副以前学习的图,稻清楚的描述了Spring Batch运行原理:  

  4. [导入]Eclipse 导入/编译 Hadoop 源码

    http://www.cnblogs.com/errorx/p/3779578.html 1.准备工作 jdk: eclipse: Maven: libprotoc :https://develope ...

  5. sudo -u hdfs hdfs balancer出现异常 No lease on /system/balancer.id

    16/06/02 20:34:05 INFO balancer.Balancer: namenodes = [hdfs://dlhtHadoop101:8022, hdfs://dlhtHadoop1 ...

  6. PhpMyAdmin管理,登录多台远程MySQL服务器

    法一: 可直接在config.inc.php里添加数据库连接信息即可 先$i++, 然后复制原来的配置信息后修改 不过这种方式需要将连接信息写在配置文件中,有点麻烦. 这种后面省事,不用填信息,选择一 ...

  7. express-16 与生产相关的问题2

    处理未捕获的异常 在Node的异步世界中,未捕获的异常是特别需要关注的问题 app.get('/fail', function(req, res){ throw new Error('Nope!'); ...

  8. dubbo服务治理框架设计

    dubbo.JSF作为使用最广泛的服务端框治理架,其设计和实现思想值得进行学习研究. 整个服务管理框架核心的原理基于反射以及socket调用实现,服务管理框架包含服务的注册管理 服务的索引管理以及服务 ...

  9. AngularJS 包含HTML文件

    类似于python tornado的include方法,同样是可以在一个html文件中加载另外一个html文件,这样可以不用重复的写一些几乎不改变的代码. 首先创建两个文件,然后代码如下: <! ...

  10. KMP(fail数组应用) LA 3026 Period

    题目传送门 题意:(训练指南P213) 求每个前缀的最短循环节 分析:利用失配函数的性质,如果i % (i - fail[i]) == 0,那么正好错位移动一个循环节长度. #include < ...