var code = document.getElementsByClassName('code')[0]; var aEle = document.getElementsByTagName("a")[0]; var userInput = document.getElementById("checkcode"); var confirm = document.getElementsByClassName("btn_sub")[0]; var str1 = ""; // conactStr();//初始化验证码 window.onload = function () { //给表单绑定onclick事件 conactStr();//初始化验证码 document.getElementById("btn_sub").onclick = function () { if (checkUsername() && checkPassword() &&checkRePassword()&&checkEmail() && checkRename() && checkTelphone()&&checkCode()){ alert("注册成功!"); return true } }; //绑定初始化验证码事件 aEle.onclick=function () { aEle.onclick = function () { str1=""; code.innerHTML=""; conactStr(); }; } //给用户名和密码框、Email、姓名、手机号分别绑定离焦事件 document.getElementById("username").onblur = checkUsername; document.getElementById("password").onblur = checkPassword; document.getElementById("repassword").onblur = checkRePassword; document.getElementById("Email").onblur = checkEmail; document.getElementById("rename").onblur = checkRename; document.getElementById("Telphone").onblur = checkTelphone; // document.getElementById("checkcode").onblur = checkCode; } //校验用户名 function checkUsername() { //获取用户名的值 var username = document.getElementById("username").value; //定义正则表达式 var reg_username = /^([a-zA-Z0-9_-])/; //判断值是否符合正则表达式的规则 var flag = reg_username.test(username); //提示信息 var s_username = document.getElementById("s_username"); if (flag) { //提示绿色对勾 s_username.innerHTML = ""; } else { //提示红色错误信息 s_username.innerHTML = "用户名格式有误!"; } return flag; } //校验密码 function checkPassword(){ //1.获取密码的值 var password = document.getElementById("password").value; //2.定义正则表达式 var reg_password = /^\w{6,12}$/; //3.判断值是否符合正则的规则 var flag = reg_password.test(password); //4.提示信息 var s_password = document.getElementById("s_password"); if(flag){ //提示绿色对勾 s_password.innerHTML = ""; }else{ //提示红色错误信息 s_password.innerHTML = "密码格式有误"; } return flag; } //校验确认密码 function checkRePassword(){ //1.获取密码的值 var password = document.getElementById("password").value; var repassword = document.getElementById("repassword").value; if(repassword===password && repassword!=""){ //提示绿色对勾 s_repassword.innerHTML = ""; return true }else{ //提示红色错误信息 s_repassword.innerHTML = "两次密码输入不一致!"; return false } } //校验Email function checkEmail(){ //1.获取Email的值 var email = document.getElementById("Email").value; //2.定义正则表达式 var reg_email = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; //3.判断值是否符合正则的规则 var flag = reg_email.test(email); //4.提示信息 var s_email = document.getElementById("s_email"); if(flag){ //提示绿色对勾 s_email.innerHTML = ""; }else{ //提示红色错误信息 s_email.innerHTML = "Email格式有误"; } return flag; } //校验真实姓名 function checkRename(){ //1.获取真实姓名的值 var rename = document.getElementById("rename").value; //2.定义正则表达式 var reg_rename = /^[\u4e00-\u9fa5]{2,4}$/; //3.判断值是否符合正则的规则 var flag = reg_rename.test(rename); //4.提示信息 var s_rename = document.getElementById("s_rename"); if(flag){ //提示绿色对勾 s_rename.innerHTML = ""; }else{ //提示红色错误信息 s_rename.innerHTML = "真实姓名输入有误"; } return flag; } //校验手机号 function checkTelphone(){ //1.获取手机号的值 var telphone = document.getElementById("Telphone").value; //2.定义正则表达式 var reg_telphone = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; //3.判断值是否符合正则的规则 var flag = reg_telphone.test(telphone); //4.提示信息 var s_telphone = document.getElementById("s_telphone"); if(flag){ //提示绿色对勾 s_telphone.innerHTML = ""; }else{ //提示红色错误信息 s_telphone.innerHTML = "手机号输入有误"; } return flag; } //检验验证码 function checkCode() { var userContent = userInput.value; console.log(str1.toLowerCase()); console.log(userContent.toLowerCase()); if(userContent.toLowerCase()==str1.toLowerCase()){ userInput.value=""; return true } else{ alert("验证码输入错误!"); code.innerHTML=""; str1=""; conactStr(); userInput.value=""; return false } } //生成随机二维码 function conactStr() { var str = ""; var angle; var fontSize = ""; var marginNum=""; for (var i = 0; i < 4; i++) { for(var j=0;j<6;j++){ //生成随机颜色 var pro = Math.random(); if(pro<0.5){ str += String.fromCharCode(Math.floor(Math.random() * 6) + 97) }else { str += Math.floor(Math.random()*10) } } //生成随机角度 angle = Math.random()<0.5?-Math.random()*20-25:Math.random()*20+25; fontSize = Math.floor(Math.random()*10)+15+"px"; marginNum=2+"px"; str="#"+str; var spanEle = document.createElement("span"); var probability = Math.random(); if (probability <= 0.33) { spanEle.innerHTML = newChar("num") } else if (probability > 0.33 && probability <= 0.66) { spanEle.innerHTML = newChar("smallChar") } else { spanEle.innerHTML = newChar("bigChar") } spanEle.style.color=str; spanEle.style.transform="rotate("+angle+"deg)"; // spanEle.style.margin="5px"; spanEle.style.fontSize=fontSize; spanEle.style.margin=marginNum+" "+(parseInt(marginNum)+3)+"px 0"; code.appendChild(spanEle); str=""; } } function newChar(flag) { var charEle = ""; if (flag == "num") { charEle = String(Math.floor(Math.random() * 10)); } else if (flag == "smallChar") { charEle = String.fromCharCode(Math.floor(Math.random() * 26) + 97) } else if (flag == "bigChar") { charEle = String.fromCharCode(Math.floor(Math.random() * 26) + 97).toUpperCase() } str1+=charEle; return charEle; }