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 ...
随机推荐
- android 入门-android Studio git 克隆
最后是完成 以上是如何从android studio Git 克隆Github的项目
- leetcode 1_2_3_7
来自lknny.com,欢迎交流学习!点击 tags: [leetcode,algorithm] categories: algorithm --- Two Sum Given an array of ...
- 在SharePoint2010中用out-of-box的方式自定制Application Pages(AccessDenied,Confirmation,Error,Login,RequestAccess,Signout,WebDeleted)
在实际项目中需要对SharePoint2010中的AccessDenied页面进行自定制,于是乎上网搜索相关内容,经实际操作此方法可行,便以此文记录. 在SharePoint2010中,由于secur ...
- Codeforces Round #337 (Div. 2) D. Vika and Segments 线段树 矩阵面积并
D. Vika and Segments Vika has an infinite sheet of squared paper. Initially all squares are whit ...
- pythonyCool-moviepy
你想要登上山顶去看美丽的风光,却在山腰发现了草莓. 今天给大家推荐一个很酷的python包moviepy.我在伯乐在线发现的看这个链接: http://python.jobbole.com/81185 ...
- 战斗住的DPS才是DPS,持续的执行力才是执行力
工作久了,真的发现执行力这个东西太难被贯彻,计划时信心满满,冲劲十足,持续一段时间后就喇叭腔了.
- JSTL标签详解以及应用实例
JSTL Apache提供的标签库,jar包:jstl-1.2.jar,如果用MyEclipse,它会自动导入,无需自己导入,如果没有使用MyEclipse那么需要自行导入. ------------ ...
- PB之入门-itemchanged(long row,dwobject dwo,string data)
每天的总结都是必须,好记性不如烂笔头,好吧,一星期没做笔记了,最近忙上PB了,哎东学学西学学,最可怕的就是最后都半斤八两,吐槽一下关于PB的资源为何如此之少,今天记录的是关于itemchanged事件 ...
- 开发Portlet第一步:如何基于Crystal开发静态Portlet?
当团队需要基于Crystal开发Porltet时,分为以下三部: 基于Crystal开发静态Portlet 基于将静态Portlet修改为基于测试数据的动态Portlet 将动态Portlet与动态数 ...
- loopback 04
数据库相关 关系定义 relationship 定义关系之后的使用 relations: { "images": { "type": "hasMany ...