部分设置不是非常完美 有待后期学习优化

  1. function byId(id){
  2. return typeof(id)==="string"?document.getElementById(id):id;
  3. }
  4. var userAccount = byId("userAccount"),
  5. userPass = byId("userPass"),
  6. userPassA = byId("userPass_"),
  7. userName = byId("userName"),
  8. information = byId("information"),
  9. mall = byId("email"),
  10. tell = byId("tell");
  11. var tijiao = byId("tijiao"),
  12. choose = byId("choose");
  13. var st1 = byId("str_1"),test1 = false;
  14. var st2 = byId("str_2"),test2 = false;
  15. var st3 = byId("str_3"),test3 = false;
  16. var st4 = byId("str_4"),test4 = false;
  17. var st5 = byId("str_5"),test5 = false;
  18. var st6 = byId("str_6"),test6 = false;
  19. var st7 = byId("str_7"),test7 = false;
  20. //var st=document.querySelectorAll("str_");
  21. //当鼠标离开用户名输入框时产生验证效果
  22. userAccount.onblur=function(){
  23. //alert(111);
  24. var min = /^\w{6,18}$/;
  25. if (this.value=="") {
  26. st1.innerHTML="用户名不能位空";
  27. st1.style.color="red";
  28. test1 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  29. } else {
  30. if (!min.exec(userAccount.value)) {
  31. st1.innerHTML="请输入6-18位数字,字母,下划线_";
  32. st1.style.color="red";
  33. test1 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  34. } else {
  35. st1.innerHTML="格式正确";
  36. st1.style.color="blue";
  37. test1 = true;
  38. }
  39. }
  40. }
  41. //当鼠标离开密码输入框时产生验证效果
  42. userPass.onblur=function(){
  43. //alert(111);
  44. var pass = /^\w{6,20}$/;
  45. if (this.value=="") {
  46. st2.innerHTML="密码不能位空";
  47. st2.style.color="red";
  48. test2 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  49. } else {
  50. if (!pass.exec(userPass.value)) {
  51. st2.innerHTML="请输入6-20位数字,字母,下划线_";
  52. st2.style.color="red";
  53. test2 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  54. } else {
  55. st2.innerHTML="密码输入完成";
  56. st2.style.color="blue";
  57. test2 = true;
  58. }
  59. }
  60. }
  61. //当鼠标离开确认密码输入框时产生验证效果
  62. userPassA.onblur=function(){
  63. //alert(111);
  64. var passA = /^\w{6,20}$/;
  65. if (this.value=="") {
  66. st3.innerHTML="密码不能位空";
  67. st3.style.color="red";
  68. test3 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  69. } else {
  70. if (userPassA.value!==userPass.value) {
  71. st3.innerHTML="两次输入密码不一致,请重新输入";
  72. st3.style.color="red";
  73. test3 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  74. } else {
  75. st3.innerHTML="确认密码成功";
  76. st3.style.color="blue";
  77. test3 = true;
  78. }
  79. }
  80. }
  81. //当鼠标离开真实姓名输入框时产生验证效果
  82. userName.onblur=function(){
  83. //alert(111);
  84. var oppo = /^[\u4e00-\u9fa5]{2,5}$/;
  85. if (this.value=="") {
  86. st4.innerHTML="姓名不能位空";
  87. st4.style.color="red";
  88. test4 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  89. } else {
  90. if (!oppo.exec(userName.value)) {
  91. st4.innerHTML="请输入2-5个字符的有效真实姓名";
  92. st4.style.color="red";
  93. test4 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  94. } else {
  95. st4.innerHTML="姓名确认成功";
  96. st4.style.color="blue";
  97. test4 = true;
  98. }
  99. }
  100. }
  101. //当鼠标离开真实身份证号输入框时产生验证效果
  102. information.onblur=function(){
  103. //alert(111);
  104. var info = /^[1234568]\d{16}[\dXx]$/;
  105. if (this.value=="") {
  106. st5.innerHTML="身份证号码不能为空";
  107. st5.style.color="red";
  108. test5 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  109. } else {
  110. if (!info.exec(information.value)) {
  111. st5.innerHTML="请输入18位有效的身份证号码";
  112. st5.style.color="red";
  113. test5 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  114. } else {
  115. st5.innerHTML="身份证验证成功";
  116. st5.style.color="blue";
  117. test5 = true;
  118. }
  119. }
  120. }
  121. //当鼠标离开邮箱输入框时产生验证效果
  122. mall.onblur=function(){
  123. //alert(111);
  124. //var eml = /^[0-9A-Za-z\-_\.]@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/;
  125. var eml = /^\w+@\w+\.[a-zA-Z_]{2,4}$/;
  126. if (this.value=="") {
  127. st6.innerHTML="邮箱地址不能为空";
  128. st6.style.color="red";
  129. test6 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  130. } else {
  131. if (!eml.exec(mall.value)) {
  132. st6.innerHTML="请输入有效的邮箱地址";
  133. st6.style.color="red";
  134. test6 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  135. } else {
  136. st6.innerHTML="邮箱验证成功";
  137. st6.style.color="blue";
  138. test6 = true;
  139. }
  140. }
  141. }
  142. //当鼠标离开电话号码输入框时产生验证效果
  143. tell.onblur=function(){
  144. //alert(111);
  145. var dianhua = /^[1-9]\d{2,10}$/;
  146. if (this.value=="") {
  147. st7.innerHTML="手机号码不能为空";
  148. st7.style.color="red";
  149. test7 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  150. } else {
  151. if (!dianhua.exec(tell.value)) {
  152. st7.innerHTML="请输入3-11位有效的手机号码";
  153. st7.style.color="red";
  154. test7 = false;//不添加这个test1 = false;的话 就会有 再全部填写好后勾选成功提交后删除value值后还可以再次提交的bug
  155. } else {
  156. st7.innerHTML="手机验证成功";
  157. st7.style.color="blue";
  158. test7 = true;
  159. }
  160. }
  161. }
  162. tijiao.onclick = function(){
  163. if(test1==false || test2==false || test3==false || test4==false || test5==false || test6==false || test7==false){
  164. alert("您填写的信息有误!请全部通过后再来提交");
  165. } else if(choose.checked == false){
  166. alert("请您先阅读确认勾线遵守规定手册");
  167. } else {
  168. alert("您以提交成功");
  169. }
  170. }