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 ...
随机推荐
- 关于三星I9305出现android.process.acore提示问题
背景:自己用百度云同步通讯录和用微信电话本删除联系人的时候总出现提示acore问题,为此上网找了许久. 网络上多说解决方案为:把Calendar.apk和CalendarProvider.apk两个文 ...
- 真机测试INSTALL_FAILED_INSUFFICIENT_STORAGE 的解决方法
来源:http://blog.csdn.net/aikongmeng/article/details/9793809 INSTALL_FAILED_INSUFFICIENT_STORAGE 的解决方法 ...
- Vue#计算属性
在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护.这就是为什么 Vue.js 将绑定表达式限制为一个表达式.如果需要多于一 ...
- 序列化 Serializable
1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存object states,但 ...
- Struts2文件上传下载
Struts2文件上传 Struts2提供 FileUpload拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容,fileUpload拦截器 默认在defau ...
- POJ 3693 后缀数组
题目链接:http://poj.org/problem?id=3693 题意:首先定义了一个字符串的重复度.即一个字符串由一个子串重复k次构成.那么最大的k即是该字符串的重复度.现在给定一个长度为n的 ...
- BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊 ——Link-Cut Tree
[题目分析] 以前用分块的方法做过这道题目,现在再用LCT水一边,发现思路确实巧妙. 每次弹射,可以看作在一条边上走了过去,而且很重要的性质,每一个点的出边只有一条. 那么就很容易知道,可以用LCT维 ...
- ios开发学习笔记(这里一定有你想要的东西,全部免费)
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...
- MFC 修改 单文档 SDI 窗体 标题
程序主窗口标题栏的一般形式为: 文档标题—主窗口标题 1.修改文档标题 修改CExamDoc::onNewDocument()函数为: BOOL CExamDoc::OnNewDocument() { ...
- 转载:回编译APK出错:java.nio.char set.MalformedInputException: Input length = 1
使用APKtool回编译APK,出现错误如下: Exception in thread "main" org.yaml.snakeyaml.error.YAMLExcepti ...