randomString = function(min_length = 16) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'; var string_length = min_length; var randomstring = ''; for (var i = 0; i < string_length; i++) { var rnum = Math.floor(Math.random() * chars.length); randomstring += chars.substr(rnum, 1); } var regex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\d)[a-zA-Z\d]{8,}$/); if(!regex.test(randomstring)){ randomString(); }else{ $('input[name=v_password]').val(randomstring); App.Actions.WEB.update_v_password(); } } App.Actions.WEB.update_v_password = function (){ var password = $('input[name="v_password"]').val(); var min_small = new RegExp(/^(?=.*[a-z]).+$/); var min_cap = new RegExp(/^(?=.*[A-Z]).+$/); var min_num = new RegExp(/^(?=.*\d).+$/); var min_length = 8; var score = 0; if(password.length >= min_length) { score = score + 1; } if(min_small.test(password)) { score = score + 1;} if(min_cap.test(password)) { score = score + 1;} if(min_num.test(password)) { score = score+ 1; } $('#meter').val(score); } App.Listeners.WEB.keypress_v_password = function() { var ref = $('input[name="v_password"]'); ref.bind('keypress input', function(evt) { clearTimeout(window.frp_usr_tmt); window.frp_usr_tmt = setTimeout(function() { var elm = $(evt.target); App.Actions.WEB.update_v_password(elm, $(elm).val()); }, 100); }); } App.Listeners.WEB.keypress_v_password(); $(document).ready(function(){ $('.add-ns-button').click(function(){ var n = $('input[name^=v_ns]').length; if(n < 8){ var t = $($('input[name=v_ns1]').parents('tr')[0]).clone(true, true); t.find('input').attr({value:'', name:'v_ns'+(n+1)}); t.find('span').show(); $('tr.add-ns').before(t); } if( n == 7 ) { $('.add-ns').hide(); } }); $('.remove-ns').click(function(){ $(this).parents('tr')[0].remove(); $('input[name^=v_ns]').each(function(i, ns){ $(ns).attr({name: 'v_ns'+(i+1)}); i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show(); }); $('.add-ns').show(); }); $('input[name^=v_ns]').each(function(i, ns){ i < 2 ? $(ns).parent().find('span').hide() : $(ns).parent().find('span').show(); }); });