validator-register.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. $(function () {
  2. // 自定义验证--密码验证
  3. jQuery.validator.addMethod("passwordValid",
  4. function (value, element) {
  5. // 判断密码满足大写字母,小写字母,数字和特殊字符,其中任意三种组合,且长度在8到15之间
  6. var testPassword = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,15}$/;
  7. return this.optional(element) || testPassword.test(value);
  8. }, "  *密码需包含大写字母,小写字母,数字和特殊字符");
  9. // 自定义手机号验证
  10. jQuery.validator.addMethod("isPhoneNum",
  11. function (value, element) {
  12. var length = value.length;
  13. var mobile = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
  14. // var mobile = /^1[3|5|8]{1}[0-9]{9}$/;
  15. return this.optional(element) || (length == 11 && mobile.test(value));
  16. }, "请正确填写您的手机号码");
  17. // 找回密码--手机号
  18. $("#J_Form").validate({
  19. rules: {
  20. loginName: {
  21. required: true,
  22. minlength: 3,
  23. maxlength: 18
  24. , remote: { //这里是验证用户名是否重复
  25. type: "GET",
  26. url: ctx + 'login/user/check',
  27. data: {
  28. loginName: function () {
  29. return $("#loginName").val();
  30. }
  31. },
  32. dataType: "html",
  33. dataFilter: function (data) {
  34. if (data == 'true') // 存在用户
  35. return true;
  36. else // 存在用户
  37. return false;
  38. }
  39. }
  40. }
  41. , pass: {
  42. required: true,
  43. minlength: 8,
  44. maxlength: 15,
  45. passwordValid: true
  46. }
  47. , confirmPass: {
  48. required: true,
  49. minlength: 6,
  50. maxlength: 16,
  51. equalTo: "#pass"
  52. }
  53. , mobile: {
  54. required: true,
  55. minlength: 6,
  56. maxlength: 16
  57. , remote: { //这里是验证手机号是否匹配
  58. type: "GET",
  59. url: ctx + 'login/user/mobile',
  60. data: {
  61. mobile: function () {
  62. return $("#mobile").val();
  63. }
  64. , loginName: function () {
  65. return $("#loginName").val();
  66. }
  67. },
  68. dataType: "html",
  69. dataFilter: function (data) {
  70. if (data == 'true') // 手机号匹配
  71. return true; // 不拦截
  72. else // 不匹配
  73. return false; //
  74. }
  75. }
  76. }
  77. },
  78. messages: {
  79. loginName: {
  80. required: "  *请输入系统登录用户名(英文字母)",
  81. minlength: "  *用户名长度不能小于3个字母",
  82. maxlength: "  *用户名长度不能大于18个字母"
  83. , remote: "  *用户名不存在"
  84. }
  85. , pass: {
  86. required: "  *请输入密码",
  87. minlength: "  *密码长度不能小于 8 个字母",
  88. maxlength: "  *密码长度不能大于 15个字母"
  89. , passwordValid: "  *请正确填写您的密码"
  90. }
  91. , confirmPass: {
  92. required: "  *请输入密码",
  93. minlength: "  *密码长度不能小于 6 个字母",
  94. maxlength: "  *密码长度不能大于 16 个字母",
  95. equalTo: "  *两次密码输入不一致"
  96. }
  97. , mobile: {
  98. required: "  *请输入手机号",
  99. minlength: "  *手机号长度不足11位",
  100. maxlength: "  *手机号长度超过11位",
  101. isPhoneNum: "  *请填写正确的手机号码"
  102. , remote: "  *手机号与用户名不匹配"
  103. }
  104. }
  105. })
  106. })
  107. ;
  108. function validform() {
  109. // 找回密码--手机号
  110. return $("#J_Form").validate({
  111. rules: {
  112. loginName: {
  113. required: true,
  114. minlength: 3,
  115. maxlength: 18
  116. , remote: { //这里是验证用户名是否重复
  117. type: "GET",
  118. url: ctx + 'login/user/check',
  119. data: {
  120. loginName: function () {
  121. return $("#loginName").val();
  122. }
  123. },
  124. dataType: "html",
  125. dataFilter: function (data) {
  126. if (data == 'true') // 不存在用户
  127. return false;
  128. else // 存在用户
  129. return true;
  130. }
  131. }
  132. }
  133. , pass: {
  134. required: true,
  135. minlength: 8,
  136. maxlength: 15,
  137. passwordValid: true
  138. }
  139. , confirmPass: {
  140. required: true,
  141. minlength: 6,
  142. maxlength: 16,
  143. equalTo: "#pass"
  144. }
  145. , mobile: {
  146. required: true,
  147. minlength: 6,
  148. maxlength: 16
  149. , remote: { //这里是验证手机号是否匹配
  150. type: "GET",
  151. url: ctx + 'login/user/mobile',
  152. data: {
  153. mobile: function () {
  154. return $("#mobile").val();
  155. }
  156. , loginName: function () {
  157. return $("#loginName").val();
  158. }
  159. },
  160. dataType: "html",
  161. dataFilter: function (data) {
  162. if (data == 'true') // 手机号匹配
  163. return true; // 不拦截
  164. else // 不匹配
  165. return false; //
  166. }
  167. }
  168. }
  169. },
  170. messages: {
  171. loginName: {
  172. required: "  *请输入系统登录用户名(英文字母)",
  173. minlength: "  *用户名长度不能小于3个字母",
  174. maxlength: "  *用户名长度不能大于18个字母"
  175. , remote: "  *用户名不存在"
  176. }
  177. , pass: {
  178. required: "  *请输入密码",
  179. minlength: "  *密码长度不能小于 8 个字母",
  180. maxlength: "  *密码长度不能大于 15个字母"
  181. , passwordValid: "  *密码需包含大写字母,小写字母,数字和特殊字符"
  182. }
  183. , confirmPass: {
  184. required: "  *请输入密码",
  185. minlength: "  *密码长度不能小于 6 个字母",
  186. maxlength: "  *密码长度不能大于 16 个字母",
  187. equalTo: "  *两次密码输入不一致"
  188. }
  189. , mobile: {
  190. required: "  *请输入手机号",
  191. minlength: "  *手机号长度不足11位",
  192. maxlength: "  *手机号长度超过11位",
  193. isPhoneNum: "  *请填写正确的手机号码"
  194. , remote: "  *手机号与用户名不匹配"
  195. }
  196. }
  197. })
  198. }
  199. function validateForm(formId) {
  200. return $("#" + formId + "").validate({
  201. rules: {
  202. mail: {
  203. required: true,
  204. email: true
  205. , remote: { //这里是验证用户名是否重复
  206. type: "GET",
  207. url: ctx + 'login/user/mail',
  208. data: {
  209. mail: function () {
  210. return $("#mail").val();
  211. }
  212. },
  213. dataType: "html",
  214. dataFilter: function (data) {
  215. if (data == 'true')
  216. return true; // 不拦截
  217. else
  218. return false;
  219. }
  220. }
  221. }
  222. },
  223. messages: {
  224. mail: {
  225. required: "  *邮箱格式错误"
  226. , remote: "  *邮箱不存在"
  227. }
  228. }
  229. })
  230. }
  231. function validateFormAll(formId) {
  232. return $("#" + formId + "").validate({
  233. rules: {
  234. mail: {
  235. required: true,
  236. email: true
  237. , remote: { //这里是验证用户名是否重复
  238. type: "GET",
  239. url: ctx + 'login/user/mail',
  240. data: {
  241. mail: function () {
  242. return $("#mail").val();
  243. }
  244. },
  245. dataType: "html",
  246. dataFilter: function (data) {
  247. if (data == 'true')
  248. return true; // 不拦截
  249. else
  250. return false;
  251. }
  252. }
  253. }
  254. , pass: {
  255. required: true,
  256. minlength: 8,
  257. maxlength: 15,
  258. passwordValid: true
  259. }
  260. },
  261. messages: {
  262. mail: {
  263. required: "  *邮箱格式错误"
  264. , remote: "  *邮箱不存在"
  265. }
  266. , pass: {
  267. required: "  *请输入密码",
  268. minlength: "  *密码长度不能小于 8 个字母",
  269. maxlength: "  *密码长度不能大于 15个字母"
  270. , passwordValid: "  *请正确填写您的密码"
  271. }
  272. }
  273. })
  274. }