JQuery Password Generator

I have the following JS code that checks the strength of a password and also creates a random password. I want to edit the code so that instead of generating the generated password in the password field, it will put it inside the span tag with the randompassword identifier. In addition, I would like for the random password to appear in the span tag by default, and then when the user clicks the button, it will generate another one. And also move the link next to the span tag, and not in the password field.

Thanks.

Here is the code:

$.fn.passwordStrength = function( options ){ return this.each(function(){ var that = this;that.opts = {}; that.opts = $.extend({}, $.fn.passwordStrength.defaults, options); that.div = $(that.opts.targetDiv); that.defaultClass = that.div.attr('class'); that.percents = (that.opts.classes.length) ? 100 / that.opts.classes.length : 100; v = $(this) .keyup(function(){ if( typeof el == "undefined" ) this.el = $(this); var s = getPasswordStrength (this.value); var p = this.percents; var t = Math.floor( s / p ); if( 100 <= s ) t = this.opts.classes.length - 1; this.div .removeAttr('class') .addClass( this.defaultClass ) .addClass( this.opts.classes[ t ] ); }) .after('<a href="#">Generate Password</a>') .next() .click(function(){ $(this).prev().val( randomPassword() ).trigger('keyup'); return false; }); }); function getPasswordStrength(H){ var D=(H.length); if(D>5){ D=5 } var F=H.replace(/[0-9]/g,""); var G=(H.length-F.length); if(G>3){G=3} var A=H.replace(/\W/g,""); var C=(H.length-A.length); if(C>3){C=3} var B=H.replace(/[AZ]/g,""); var I=(H.length-B.length); if(I>3){I=3} var E=((D*10)-20)+(G*10)+(C*15)+(I*10); if(E<0){E=0} if(E>100){E=100} return E } function randomPassword() { var chars = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@ #$_+?%^&)"; var size = 10; var i = 1; var ret = "" while ( i <= size ) { $max = chars.length-1; $num = Math.floor(Math.random()*$max); $temp = chars.substr($num, 1); ret += $temp; i++; } return ret; } }; $(document) .ready(function(){ $('#password1').passwordStrength({targetDiv: '#iSM',classes : Array('weak','medium','strong')}); }); 
+1
source share
3 answers
 // you can use another improved version to generate password as follows //Define function wpiGenerateRandomNumber(length) { var i = 0; var numkey = ""; var randomNumber; while( i < length) { randomNumber = (Math.floor((Math.random() * 100)) % 94) + 33; if ((randomNumber >=33) && (randomNumber <=47)) { continue; } if ((randomNumber >=58) && (randomNumber <=90)) { continue; } if ((randomNumber >=91) && (randomNumber <=122)) { continue; } if ((randomNumber >=123) && (randomNumber <=126)) { continue; } i++; numkey += String.fromCharCode(randomNumber); } return numkey; } // Call var myKey=wpiGenerateRandomNumber(10); // 10=length alert(myKey); // Output 2606923083 
+2
source

This line:

 $(this).prev().val( randomPassword() ).trigger('keyup'); 

inserts a value after a click. Thus, you can change this value to store the password wherever you want. For example, you can change it to:

 $('span#randompassword').html(randomPassword()); 

You can also run this when the page loads, to immediately insert something into this gap:

 $(document).ready(function(){ $('span#randompassword').html(randomPassword()); }); 
+1
source
 //Very simple method to generate random number; can be use to generate random password key as well jq(document).ready( function() { jq("#genCodeLnk").click( function() { d = new Date(); t = d.getTime(); jq("#cstm_invitecode").val(t); }); }); 
0
source

Source: https://habr.com/ru/post/1436763/


All Articles