my_validate.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. var validate_flag=false;
  2. function my_validate(){
  3. $(".my-validate").each(function(){
  4. if(mui.os.ios){
  5. $(this).blur(function(){
  6. validate_bind($(this));
  7. });
  8. }else{
  9. $(this).keyup(function(){
  10. var currKey = 0,e = e || event;
  11. currKey = e.keyCode || e.which || e.charCode;
  12. var keyName = String.fromCharCode(currKey);
  13. if (currKey == "13") {
  14. validate_bind($(this));
  15. }
  16. });
  17. }
  18. });
  19. }
  20. function validate_bind(obj){
  21. var tel =/^(0?(13|14|15|18)[\d]{9}$|(01|02|03|04|05|06|07|08|09)[\d]{7,10}$|(400|800)[0-9]{7}$)/; //手机,座机(400-800)
  22. var mobile=/^0?(13|14|15|16|17|18|19)[0-9]{9}$/; //手机号码
  23. var ch=/^[\u4e00-\u9fa5]{2,}$/;//简体中文(2位以上)
  24. var ch_en_num=/^[A-Za-z0-9_\-\u4e00-\u9fa5]{1,}$/;//简体中文英文数字(1位以上)
  25. var email=/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$/; //邮箱
  26. var http=/^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/; //网址
  27. var doublebyte=/^[^\x00-\xff]+$/; //简体+繁体中文(包括中文全角符号,全角空格)
  28. var positive_int=/^[0-9]\d*$/; //正整数0-9
  29. var negtive_int=/^-[1-9]\d*$/; //负整数
  30. var qq=/^[1-9]([0-9]{4,12})$/; //腾讯QQ号
  31. var postalcode=/^\d{6}$/; //中国邮政编码
  32. var card_id=/^(\d{17}[\d|x]|\d{15})$/; //身份证(国内)
  33. var full_date=/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/; //日期格式 (2016\12\12,2016-12-12,2016.12.12)
  34. var ip=/^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$/;//ip地址
  35. switch (obj.attr('validate-type')){
  36. case 'tel':
  37. console.log(obj.val())
  38. if(tel.test(obj.val())){
  39. validate_flag=true;
  40. }else{
  41. validate_flag=false;
  42. if(obj.val()!=''){obj.select();mui.alert('请输入正确的电话或手机号');}
  43. return false;
  44. }
  45. break;
  46. case 'mobile':
  47. if(mobile.test(obj.val())){
  48. validate_flag=true;
  49. }else{
  50. validate_flag=false;
  51. if(obj.val()!=''){obj.select();mui.alert('请输入正确的手机号');}
  52. return false;
  53. }
  54. break;
  55. case 'ch':
  56. if(ch.test(obj.val())){
  57. validate_flag=true;
  58. }else{
  59. validate_flag=false;
  60. if(obj.val()!=''){obj.select();mui.alert('请输入简体中文');}
  61. return false;
  62. }
  63. break;
  64. case 'ch_en_num':
  65. if(ch_en_num.test(obj.val())){
  66. validate_flag=true;
  67. }else{
  68. validate_flag=false;
  69. if(obj.val()!=''){obj.select();mui.alert('请输入中、英文或数字');}
  70. return false;
  71. }
  72. break;
  73. case 'email':
  74. if(email.test(obj.val())){
  75. validate_flag=true;
  76. }else{
  77. validate_flag=false;
  78. if(obj.val()!=''){obj.select();mui.alert('请输入正确的邮箱地址');}
  79. return false;
  80. }
  81. break;
  82. case 'http':
  83. if(http.test(obj.val())){
  84. validate_flag=true;
  85. }else{
  86. validate_flag=false;
  87. if(obj.val()!=''){obj.select();mui.alert('请输入正确的网址');}
  88. return false;
  89. }
  90. break;
  91. case 'doublebyte':
  92. if(doublebyte.test(obj.val())){
  93. validate_flag=true;
  94. }else{
  95. validate_flag=false;
  96. if(obj.val()!=''){obj.select();mui.alert('请输入简体、繁体中文');}
  97. return false;
  98. }
  99. break;
  100. case 'positive_int':
  101. if(positive_int.test(obj.val())){
  102. validate_flag=true;
  103. }else{
  104. validate_flag=false;
  105. if(obj.val()!=''){obj.select();mui.alert('请输入正整数');}
  106. return false;
  107. }
  108. break;
  109. case 'negtive_int':
  110. if(negtive_int.test(obj.val())){
  111. validate_flag=true;
  112. }else{
  113. validate_flag=false;
  114. if(obj.val()!=''){obj.select();mui.alert('请输入负整数');}
  115. return false;
  116. }
  117. break;
  118. case 'qq':
  119. if(qq.test(obj.val())){
  120. validate_flag=true;
  121. }else{
  122. validate_flag=false;
  123. if(obj.val()!=''){obj.select();mui.alert('请输入正确的QQ号');}
  124. return false;
  125. }
  126. break;
  127. case 'postalcode':
  128. if(postalcode.test(obj.val())){
  129. validate_flag=true;
  130. }else{
  131. validate_flag=false;
  132. if(obj.val()!=''){obj.select();mui.alert('请输入正确的邮政编码');}
  133. return false;
  134. }
  135. break;
  136. case 'ip':
  137. if(ip.test(obj.val())){
  138. validate_flag=true;
  139. }else{
  140. validate_flag=false;
  141. if(obj.val()!=''){obj.select();mui.alert('请输入正确的IP地址');}
  142. return false;
  143. }
  144. break;
  145. case 'card_id':
  146. if(card_id.test(obj.val())){
  147. validate_flag=true;
  148. }else{
  149. validate_flag=false;
  150. if(obj.val()!=''){obj.select();mui.alert('请输入正确的身份证号');}
  151. return false;
  152. }
  153. break;
  154. case 'full_date':
  155. if(full_date.test(obj.val())){
  156. validate_flag=true;
  157. }else{
  158. validate_flag=false;
  159. if(obj.val()!=''){obj.select();mui.alert('请输入正确的日期格式');}
  160. return false;
  161. }
  162. break;
  163. default:
  164. break;
  165. }
  166. }