使用 JS 生成具有特定登录的随机字符串
Generate random String with a specific sign in it using JS
有没有办法使用 JS 生成随机字符串。使用"@","."登录,我一直在搜索特定范围之间的随机字符串生成,此代码有效
function stringGen(len) {
var text = " ";
var charset = "abcdefghijklmnopqrstuvwxyz0123456789";
for( var i=0; i < len; i++ ) {
text += charset.charAt(Math.floor(Math.random() * charset.length));
}
return text;
}
console.log(stringGen(3));
但没有具体的迹象。我正在创建一个随机电子邮件生成器,所以请帮助我!
只需连接在一起,直到得到你想要的东西
function stringGen(len) {
var text = "";
var charset = "abcdefghijklmnopqrstuvwxyz0123456789";
for( var i=0; i < len; i++ ) {
text += charset.charAt(Math.floor(Math.random() * charset.length));
}
return text;
}
stringGen(10) + "@" + stringGen(5) + "." + stringGen(3)
我还将变量text
的初始化更改为空字符串。
如果您希望 TLD 没有数字:
function stringGen(len, num) {
var text = "";
var alpha = "abcdefghijklmnopqrstuvwxyz";
var alnum = "abcdefghijklmnopqrstuvwxyz0123456789";
for( var i=0; i < len; i++ ) {
if(!num)
text += alnum.charAt(Math.floor(Math.random() * alnum.length));
else
text += alpha.charAt(Math.floor(Math.random() * alpha.length));
}
return text;
}
stringGen(10) + "@" + stringGen(5) + "." + stringGen(3,true)
@
必须在第一个字符之后,不能是最后一个字符。因此,请为它选择一个随机位置,并在到达此位置时使用它:
function stringGen(len) {
var text = "";
var charset = "abcdefghijklmnopqrstuvwxyz0123456789";
var atPos = Math.floor(Math.random() * (len - 2)) + 1;
for( var i=0; i < len; i++ ) {
if(i==atPos) {
text += '@'
} else {
text += charset.charAt(Math.floor(Math.random() * charset.length));
}
}
return text;
}
RFC 允许使用带有一个字符或数字的主机名 ( https://serverfault.com/questions/638260/is-it-valid-for-a-hostname-to-start-with-a-digit )
为什么不编写另一个多次使用stringGen()
的函数呢?
function emailAddressGen () {
var text = stringGen(Math.ceil(Math.random() * 10 + 2)); // length of 2 to 13
text += '@';
text += stringGen(Math.ceil(Math.random() * 10 + 2));
text += '.';
text += stringGen(Math.ceil(Math.random() + 2)); // length of 2 or 3
return text;
}
您还可以将该Math.ceil(Math.random() * n + m)
废话重构为随机数生成器帮助程序函数,该函数采用范围(m 到 n)或单个最大整数。
function randomNum (arg) {
var range = [0, 0];
if (typeof arg === 'number') {
range[1] = arg;
else if (typeof arg === 'object') {
range = arg;
} else {
return 'Wrong argument type: must be Array or Number';
}
return Math.floor(Math.random() * range[1] + range[0]);
}
试试这个:
////
/// @author Nikhil Saini
/// @desc Random string generator function
/// @example var key = randomString("1-a-A-$-#-*"); gives key = 6-y-Z-<-r-@
/// @invocation randomString(pattern);
/// @param pattern: A string with random character identifiers
/// @default random identifiers:-
/// 1: numerical digit,
/// a: lowercase alphabet
/// A: uppercase alphabet
/// #: alphanumeric character
/// $: special character
/// *: wildcard
/// @notes:
/// 1. Characters that are not acting as identifiers will be preserved
/// 2. Character sets can be customised/added by setting randomStringTable.<character-identifier> to desirable string of possible characters
////
///dictionary for possible characters
var randomStringTable = {
"1": "1234567890",
"a": "qwertyuiopasdfghjklzxcvbnm",
"A": "QWERTYUIOPASDFGHJKLZXCVBNM",
"$": "~!@#$%^&*()_+`{}:'"<>?|''[];',./-=",
"#": "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM",
"*": "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM~!@#$%^&*()_+`{}:'"<>?|''[];',./-="
};
/// function for random string generation
var randomString = pattern => {
var randomString = "";
for (var i = 0; i < pattern.length; i++) {
var possibility = randomStringTable[pattern[i]];
randomString += possibility ?
possibility.charAt(Math.floor(Math.random() * possibility.length)) :
pattern[i];
}
return randomString;
};
console.log(randomString("aaaaaa@aaaaa.com"));
//the function can be cascaded also
console.log(randomString("a".repeat(randomString("1"))+"@"+"a".repeat(randomString("1"))+"."+"a".repeat(randomString("1"))));
使用已有的代码,您可以将@
放在字符串中的随机位置。
String.prototype.replaceAt=function(index, character) {
return this.substr(0, index) + character + this.substr(index+character.length);
}
var email = '873gre8g9843f98';
email.replaceAt(Math.floor(Math.random()*email.length),'@');
相关文章:
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 尝试使用Phonegap进行php登录
- Facebook登录按钮没有'不能在Firefox上工作
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 使用当前日期生成随机id
- 使用javascript反复检查用户在facebook上的登录状态
- Firebase-登录时获取url
- 从a-z中随机选择一个字母
- BrowserId登录请求在文档加载时被调用
- 通过iframe登录到远程站点
- Jquery Modal表单登录与AJAX-ASP经典上的IE 9
- RequireJ无法随机加载脚本
- 如何使用js自动登录
- 单击按钮时显示随机字符串
- 我尝试在登录脚本中使用ajax,但页面不会重定向
- 如何仅在首次登录时显示弹出窗口
- 如何检查用户已经登录facebook
- Facebook登录不适用于iOS的应用内浏览器
- 使用 JS 生成具有特定登录的随机字符串
- 从随机网站上的登录用户获取数据