最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Random 'email format' text using jQuery - Stack Overflow

programmeradmin1浏览0评论

I want to know how I can get a random text variable in jQuery like this format:

[email protected]

15 digit random combination of letters and numbers in the first part and '@domain' in the second part which remains the same.

I want to get real random entries that are different all the time.

how to do this with javascript or jquery?

Thanks

I want to know how I can get a random text variable in jQuery like this format:

[email protected]

15 digit random combination of letters and numbers in the first part and '@domain.com' in the second part which remains the same.

I want to get real random entries that are different all the time.

how to do this with javascript or jquery?

Thanks

Share Improve this question asked Nov 16, 2013 at 1:18 Claudio DelgadoClaudio Delgado 2,3497 gold badges21 silver badges27 bronze badges
Add a comment  | 

5 Answers 5

Reset to default 10

Use chancejs github

email

chance.email()
chance.email({domain: "example.com"}) 

Return a random email with a random domain.

chance.email()
=> '[email protected]'

Optionally specify a domain and the email will be random but the domain will not.

chance.email({domain: 'example.com')
=> '[email protected]'


Or pure JavaScript

fiddle DEMO

function makeEmail() {
    var strValues = "abcdefg12345";
    var strEmail = "";
    var strTmp;
    for (var i = 0; i < 10; i++) {
        strTmp = strValues.charAt(Math.round(strValues.length * Math.random()));
        strEmail = strEmail + strTmp;
    }
    strTmp = "";
    strEmail = strEmail + "@";
    for (var j = 0; j < 8; j++) {
        strTmp = strValues.charAt(Math.round(strValues.length * Math.random()));
        strEmail = strEmail + strTmp;
    }
    strEmail = strEmail + ".com"
    return strEmail;
}
console.log(makeEmail());
var chars = 'abcdefghijklmnopqrstuvwxyz1234567890';
var string = '';
for(var ii=0; ii<15; ii++){
    string += chars[Math.floor(Math.random() * chars.length)];
}
alert(string + '@domain.com');

This will randomly pick characters to add to the email string.

Note that this might, once in a blue moon, generate duplicates. In order to completely eliminate duplicates, you would have to store all generated strings and check to make sure that the one you are generating is unique.

JSFiddle Demo.

Using the answers from generate a string of 5 random characters

function getRandomEmail(domain,length)
{
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for( var i=0; i < length; i++ )
        text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text + domain;
}

var email = getRandomEmail("@domain.com",15);

Lets do the trick with toSting to generate alphanumeric string

return Math.random().toString(36).substring(2,11) + '@domain.com';

shortest as possible

If you like to have first character a letter, it could be combination with selection of the first character from the character list

var chars = 'abcdefghijklmnopqrstuvwxyz';
return chars[Math.floor(Math.random()*26)] + Math.random().toString(36).substring(2,11) + '@domain.com';

I think this is better, 1 line of code.

Math.random().toString(36).substring(2)+'@'+(Math.random() * 0xffff).toString(36);
发布评论

评论列表(0)

  1. 暂无评论