Ajax注册验证js代码
分享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代码的更多相关文章
- Ajax注册验证用户名是否存在 ——引自百度经验
Ajax注册验证用户名是否存在 http://jingyan.baidu.com/article/a948d6515fdf870a2dcd2e85.html
- ajax同步请求JS代码
ajax同步请求JS代码 <script type="text/javascript"> var txt = document.getElementById('txt' ...
- 身份证验证JS代码
身份证验证JS程序function checkidcardfun(code) { var city = {11: "北京", 12: "天津", 13: &qu ...
- 中国第二代身份证验证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 ...
- tp框架实现ajax注册验证
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Flask博客类登录注册验证模块代码(十四)
1 文件系统 blog #博客类 App forms #表单 __init__.py user.py models #模型 __init__.py user.py static #静态文件 templ ...
- ajax登录验证-js
1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- 将form转为ajax提交的js代码
参考网络代码基础上进行修改,调试通过. 在html中插入下面的代码: 函数ajaxSubmit是submit的ajax形式. 注意:这里面使用到了jquery库 //<!--将form中的值转换 ...
- Yii用AJAX注册验证
<script type="text/javascript"> $(document).ready(function(){ $('#RegisterForm_usern ...
随机推荐
- [译] EXTENDING JQUERY – 2.2 A simple plugin
2.2 一个简单的插件示例 jQuery 插件能做任何事情,这个已经由浩如烟海的各类第三方插件如证明.小到只影响一个元素,大到改变多个元素的外观和行为,jQuery 的各种功能等你来扩展. 2.2.1 ...
- 聊聊传统oo和js的某些对比——对象/函数/new关键字等
自己的学习记录,写的短点可以以后短时间内理清一些疑惑,看前要求你至少了解js中关于原型链等基本概念,因为文章直接以总结的形式理出知识点,没有去解释一些基本的概念! 1.1.熟记两句话,预预热 1. 函 ...
- 学习linux内核时常碰到的汇编指令(2)
转载:http://blog.sina.com.cn/s/blog_4be6adec01007xvh.html JNGE∶指令助记符——(有符号数比较)不大于且不等于转移(等价于JL).当SF和OF异 ...
- 软考之PV操作(同步)
这几天,陆续有那么三两个同学跟我讨论了一下关于软考上的PV操作的题,吾虽不才,但还是把同学们讲通了,在此,特分享一下自己的思路和想法,愿对大家有点帮助! 下面,我们就通过自己做过的试卷上两道题来分析: ...
- OGNL表示式使用和值栈
另外值得参考博客:http://blog.csdn.net/resigshy/article/details/7560573 OGNL是Object Graphic Navigation Langua ...
- Ubuntu中如何打开终端terminal
法一 先按住Alt,然后再按F2,出来一个运行框,在里面输入gnome-terminal即可 [编辑]法二 如果想从右键菜单中打开终端,需要安装一个软件: sudoapt-get install na ...
- position之absolute与relative 详解
absolute:绝对定位: relative:相对定位: 唉,以前只是知是知道这两个单词的汉语意思,然后呢,,,怎么用...也是摸凌两可的用.终于抽出时间来看看了: 1.绝对定位:absulute ...
- Uva442 hdu 1082 Matrix Chain Multiplication
要注意取出来的时候 先取出q的是后面那个矩阵 后取出p的是前面的矩阵 所以是判断 p.a == q.b #include <iostream> #include <stack> ...
- ZJOI2016二试+游记
...excited.... 一场打回原形爽哦. T1莫名爆到了10分,T2T3均没交,一个小时过后就没再拿任何分数,perfectly狗带了... 总之没有给自己充足的时间去敲暴力,ZJOI啊..拿 ...
- Android自动截屏小脚本
@echo off echo * 截图文件将保存在 E:\pic下,以当前日期+时间命名. echo ================================================= ...