jquery.validate.uc.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. /* ============================================================
  2. * jquery.validate.binding.js 第三方注册绑定验证
  3. * ============================================================ */
  4. (function($) {
  5. 'use strict';
  6. // 自定义验证方法,验证是否被注册
  7. $.validator.addMethod('IsRegistered', function(value, element) {
  8. var result = false, eletype = element.name;
  9. $.ajax({
  10. url: qscms.root + '?m=Home&c=Members&a=ajax_check',
  11. cache: false,
  12. async: false,
  13. type: 'post',
  14. dataType: 'json',
  15. data: { type: eletype, param: value },
  16. success: function(json) {
  17. if (json && json.status) {
  18. result = true;
  19. } else {
  20. result = false;
  21. }
  22. }
  23. });
  24. return result;
  25. }, '已被注册');
  26. // 自定义验证方法,验证手机号是否唯一
  27. $.validator.addMethod('IsRegisteredT', function(value, element) {
  28. var result = false, eletype = 'mobile';
  29. if (value.length) {
  30. $.ajax({
  31. url: qscms.root + '?m=Home&c=Members&a=ajax_check',
  32. cache: false,
  33. async: false,
  34. type: 'post',
  35. dataType: 'json',
  36. data: { type: eletype, param: value },
  37. success: function(json) {
  38. if (json && json.status) {
  39. result = true;
  40. } else {
  41. result = false;
  42. }
  43. }
  44. });
  45. } else {
  46. result = true;
  47. }
  48. return result;
  49. }, '手机号已被注册');
  50. // 自定义验证方法,验证区号
  51. $.validator.addMethod("inputRegValiZone", function(value, element, param) {
  52. if (this.optional(element))
  53. return "dependency-mismatch";
  54. var reg = param;
  55. if (typeof param == 'string') {
  56. reg = new RegExp(param);
  57. }
  58. return reg.test(value);
  59. }, '区号格式不正确');
  60. // 自定义验证方法,固话手机二选一
  61. $.validator.addMethod("lineMobileAchoice", function(value, element, param) {
  62. var regularTelphone = /^13[0-9]{9}$|14[0-9]{9}$|15[0-9]{9}$|18[0-9]{9}$|17[0-9]{9}$|19[0-9]{9}$/;
  63. var achoice = true;
  64. var telphoneValue = $.trim($('#telephone').val());
  65. var landlinefirstValue = $.trim($("#landline_tel_first").val());
  66. var landlinenextValue = $.trim($("#landline_tel_next").val());
  67. if (telphoneValue == '' && landlinenextValue == '') {
  68. achoice = false;
  69. }
  70. if (telphoneValue != "" && !regularTelphone.test(telphoneValue) && landlinenextValue == '') {
  71. achoice = false;
  72. }
  73. return achoice;
  74. }, '固定电话和手机号码请至少填写一项');
  75. // 手机号输入实时验证二选一
  76. $('input[name="telephone"]').on('keyup', function(event) {
  77. var telephoneValue = $(this).val();
  78. if (telephoneValue.length >= 11) {
  79. if (!$('#landline_tel_next').closest('.td1').next().find('.ok').length) {
  80. $('#landline_tel_next').closest('.td1').next().empty();
  81. }
  82. }
  83. });
  84. // 固定电话输入实时验证二选一
  85. $('input[name="landline_tel_next"]').on('keyup', function(event) {
  86. var telValue = $(this).val();
  87. if (telValue.length >= 6) {
  88. if (!$('#telephone').closest('.td1').next().find('.ok').length) {
  89. $('#telephone').closest('.td1').next().empty();
  90. }
  91. }
  92. });
  93. // 个人邮箱注册验证程序
  94. $("#regEmailForm").validate({
  95. submitHandler: function(form) {
  96. if (!$('#regEmailForm input[name="agreement"]').is(':checked')) {
  97. disapperTooltip("remind", '请同意注册协议');
  98. return false;
  99. }
  100. regPerByEmailHandler();
  101. }
  102. });
  103. // 企业注册验证程序
  104. $('#registerForm').validate({
  105. submitHandler: function(form) {
  106. if (!$('#registerForm input[name="agreement"]').is(':checked')) {
  107. disapperTooltip("remind", '请同意注册协议');
  108. return false;
  109. }
  110. var landline_tel_num = $.trim($('#landline_tel_first').val()) + '-' + $.trim($('#landline_tel_next').val());
  111. if ($.trim($('#landline_tel_last').val()).length) {
  112. landline_tel_num += '-' + $.trim($('#landline_tel_last').val());
  113. }
  114. $('#landline_tel').val(landline_tel_num);
  115. regCompanyHandler();
  116. },
  117. rules: {
  118. companyname: {
  119. required: true,
  120. rangelength: [4, 25],
  121. IsRegistered: true
  122. },
  123. contact: {
  124. required: true,
  125. rangelength: [1, 10]
  126. },
  127. landline_tel_first: {
  128. inputRegValiZone: '^[0-9]{3}[0-9]?$'
  129. },
  130. landline_tel_next: {
  131. match: '^[0-9]{6,11}$',
  132. lineMobileAchoice: true
  133. },
  134. landline_tel_last: {
  135. number: true,
  136. rangelength: [1, 4]
  137. },
  138. telephone: {
  139. match: /^13[0-9]{9}$|14[0-9]{9}$|15[0-9]{9}$|18[0-9]{9}$|17[0-9]{9}$|19[0-9]{9}$/,
  140. lineMobileAchoice: true,
  141. IsRegisteredT : true
  142. }
  143. },
  144. messages: {
  145. companyname: {
  146. required: '<div class="ftxt">请输入企业名称</div><div class="fimg"></div>',
  147. rangelength: '<div class="ftxt">4-25个字组成</div><div class="fimg"></div>',
  148. IsRegistered: '<div class="ftxt">该企业名称已被注册</div><div class="fimg"></div>'
  149. },
  150. contact: {
  151. required: '<div class="ftxt">请输入企业联系人</div><div class="fimg"></div>',
  152. rangelength: '<div class="ftxt">1-10个字组成</div><div class="fimg"></div>'
  153. },
  154. landline_tel_first: {
  155. inputRegValiZone: '<div class="ftxt">请填写正确的区号</div><div class="fimg"></div>'
  156. },
  157. landline_tel_next: {
  158. match: '<div class="ftxt">请输入6-11位的数字</div><div class="fimg"></div>',
  159. lineMobileAchoice: '<div class="ftxt">固定电话和手机号码至少填写一项</div><div class="fimg"></div>'
  160. },
  161. landline_tel_last: {
  162. number: '<div class="ftxt">分机号码为数字</div><div class="fimg"></div>',
  163. rangelength: '<div class="ftxt">1-4位数字组成</div><div class="fimg"></div>'
  164. },
  165. telephone: {
  166. match: '<div class="ftxt">手机号格式不正确</div><div class="fimg"></div>',
  167. lineMobileAchoice: '<div class="ftxt">固定电话和手机号码请至少填写一项</div><div class="fimg"></div>',
  168. IsRegisteredT : '<div class="ftxt">手机号已被注册</div><div class="fimg"></div>'
  169. }
  170. },
  171. errorClasses: {
  172. companyname: {
  173. required: 'tip err',
  174. rangelength: 'tip err',
  175. IsRegistered: 'tip err'
  176. },
  177. contact: {
  178. required: 'tip err',
  179. rangelength: 'tip err'
  180. },
  181. landline_tel_first: {
  182. inputRegValiZone: 'tip err'
  183. },
  184. landline_tel_next: {
  185. match: 'tip err',
  186. lineMobileAchoice: 'tip err'
  187. },
  188. landline_tel_last: {
  189. number: 'tip err',
  190. rangelength: 'tip err'
  191. },
  192. telephone: {
  193. match: 'tip err',
  194. lineMobileAchoice: 'tip err',
  195. IsRegisteredT: 'tip err'
  196. }
  197. },
  198. tips: {
  199. companyname: '<div class="ftxt">名称与企业营业执照保持一致</div><div class="fimg"></div>',
  200. contact: '<div class="ftxt">请填写全名</div><div class="fimg"></div>',
  201. telephone: '<div class="ftxt">手机号可用于登录网站和找回密码</div><div class="fimg"></div>'
  202. },
  203. tipClasses: {
  204. companyname: 'tip',
  205. contact: 'tip',
  206. telephone: 'tip'
  207. },
  208. groups: {
  209. phoneNum: 'landline_tel_first landline_tel_next landline_tel_last'
  210. },
  211. errorElement: 'div',
  212. errorPlacement: function(error, element) {
  213. if (element.attr('name') == 'landline_tel_last' || element.attr('name') == 'landline_tel_next' || element.attr('name') == 'landline_tel_first') {
  214. element.closest('.J_validate_group').find('.J_showtip_box').append(error);
  215. } else {
  216. element.closest('.J_validate_group').find('.J_showtip_box').append(error);
  217. }
  218. },
  219. success: function(label) {
  220. label.append('<div class="ok"></div>');
  221. }
  222. });
  223. // 个人邮箱注册处理程序
  224. function regPerByEmailHandler() {
  225. $('#btnEmailRegister').val('注册中...').addClass('btn_disabled').prop('disabled', !0);
  226. $.ajax({
  227. url: qscms.root+'?m=Home&c=Members&a=register',
  228. type: 'POST',
  229. dataType: 'json',
  230. data: $('#regEmailForm').serialize(),
  231. success: function (data) {
  232. if(data.status == 1){
  233. window.location.href = data.data.url;
  234. }else{
  235. if ($('#regEmailForm input[name="agreement"]').is(':checked')) {
  236. $('#btnEmailRegister').val('注册').removeClass('btn_disabled').prop('disabled', 0);
  237. }
  238. disapperTooltip("remind", data.msg);
  239. }
  240. },
  241. error:function(data){
  242. if ($('#regEmailForm input[name="agreement"]').is(':checked')) {
  243. $('#btnEmailRegister').val('注册').removeClass('btn_disabled').prop('disabled', 0);
  244. }
  245. disapperTooltip("remind", data.msg);
  246. }
  247. });
  248. }
  249. // 注册企业处理程序
  250. function regCompanyHandler() {
  251. $('#btnRegister').val('注册中...').addClass('btn_disabled').prop('disabled', !0);
  252. $.ajax({
  253. url: qscms.root+'?m=Home&c=Members&a=register',
  254. type: 'POST',
  255. dataType: 'json',
  256. data: $('#registerForm').serialize(),
  257. success: function (data) {
  258. if(data.status == 1){
  259. window.location.href = data.data.url;
  260. }else{
  261. $('#btnRegister').val('注册').removeClass('btn_disabled').prop('disabled', 0);
  262. disapperTooltip("remind", data.msg);
  263. }
  264. },
  265. error:function(data){
  266. $('#btnRegister').val('注册').removeClass('btn_disabled').prop('disabled', 0);
  267. disapperTooltip("remind", data.msg);
  268. }
  269. });
  270. }
  271. })(jQuery);