edit_user.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. randomString = function(min_length = 16) {
  2. var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
  3. var string_length = min_length;
  4. var randomstring = '';
  5. for (var i = 0; i < string_length; i++) {
  6. var rnum = Math.floor(Math.random() * chars.length);
  7. randomstring += chars.substr(rnum, 1);
  8. }
  9. var regex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\d)[a-zA-Z\d]{8,}$/);
  10. if(!regex.test(randomstring)){
  11. randomString();
  12. }else{
  13. $('input[name=v_password]').val(randomstring);
  14. }
  15. }
  16. App.Actions.WEB.update_v_password = function (){
  17. var password = $('input[name="v_password"]').val();
  18. var min_small = new RegExp(/^(?=.*[a-z]).+$/);
  19. var min_cap = new RegExp(/^(?=.*[A-Z]).+$/);
  20. var min_num = new RegExp(/^(?=.*\d).+$/);
  21. var min_length = 8;
  22. var score = 0;
  23. if(password.length >= min_length) { score = score + 1; }
  24. if(min_small.test(password)) { score = score + 1;}
  25. if(min_cap.test(password)) { score = score + 1;}
  26. if(min_num.test(password)) { score = score+ 1; }
  27. $('#meter').val(score);
  28. }
  29. App.Listeners.WEB.keypress_v_password = function() {
  30. var ref = $('input[name="v_password"]');
  31. ref.bind('keypress input', function(evt) {
  32. clearTimeout(window.frp_usr_tmt);
  33. window.frp_usr_tmt = setTimeout(function() {
  34. var elm = $(evt.target);
  35. App.Actions.WEB.update_v_password(elm, $(elm).val());
  36. }, 100);
  37. });
  38. }
  39. App.Listeners.WEB.keypress_v_password();
  40. $(document).ready(function(){
  41. $('.add-ns-button').click(function(){
  42. var n = $('input[name^=v_ns]').length;
  43. if(n < 8){
  44. var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true);
  45. t.find('input').attr({value:'', name:'v_ns'+(n+1)});
  46. t.find('span').show();
  47. $('tr.add-ns').before(t);
  48. }
  49. if( n == 7 ) {
  50. $('.add-ns').hide();
  51. }
  52. });
  53. $('.remove-ns').click(function(){
  54. $(this).parents('tr')[0].remove();
  55. $('input[name^=v_ns]').each(function(i, ns){
  56. $(ns).attr({name: 'v_ns'+(i+1)});
  57. i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
  58. });
  59. $('.add-ns').show();
  60. });
  61. $('input[name^=v_ns]').each(function(i, ns){
  62. i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show();
  63. });
  64. });