jQuery密码生成器

我有以下JS代码检查密码强度,也创建一个随机密码。 我想要做的是编辑代码,这样它就不会将生成的密码放在密码字段中,而是将其放在一个带有randompassword id的span标签内。 另外我想这样,默认情况下,span标签内会有一个随机密码,然后当用户点击按钮时会产生另一个密码。 并且还将链接移动到span标签旁边而不是密码框。

谢谢。

这是代码:

$.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('Generate Password') .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(E100){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')}); }); 

 // 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 

这一行:

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

点击后插入值。 因此,您可以更改该值以将密码粘贴到您想要的任何位置。 例如,您可以将其更改为:

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

您也可以在页面加载时立即执行此操作以在该跨度中粘贴某些内容:

 $(document).ready(function(){ $('span#randompassword').html(randomPassword()); }); 
 //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); }); });