使用 jQuery 的随机“电子邮件格式”文本

Posted

技术标签:

【中文标题】使用 jQuery 的随机“电子邮件格式”文本【英文标题】:Random 'email format' text using jQuery 【发布时间】:2013-11-29 13:49:07 【问题描述】:

我想知道如何在 jQuery 中像这种格式一样获取随机文本变量:

gwtq3tw3232dsk@domain.com

第一部分的字母和数字的 15 位随机组合,第二部分的“@domain.com”保持不变。

我想获得始终不同的真实随机条目。

如何用 javascript 或 jquery 做到这一点?

谢谢

【问题讨论】:

【参考方案1】:

使用chancejsgithub

电子邮件

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

返回带有随机域的随机电子邮件。

chance.email()
=> 'kawip@piklojzob.gov'

可选地指定一个域,电子邮件将是随机的,但域不会。

chance.email(domain: 'example.com')
=> 'giigjom@example.com'


或纯 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());

【讨论】:

【参考方案2】:
var chars = 'abcdefghijklmnopqrstuvwxyz1234567890';
var string = '';
for(var ii=0; ii<15; ii++)
    string += chars[Math.floor(Math.random() * chars.length)];

alert(string + '@domain.com');

这将随机选择要添加到电子邮件字符串的字符。

请注意,这可能,一旦在一个蓝月亮,生成重复。为了完全消除重复,您必须存储所有生成的字符串并检查以确保您生成的字符串是唯一的。

JSFiddle Demo.

【讨论】:

我正在尝试将其用作文本字段的值。但是,当我添加这些代码并尝试执行它时,脚本会失败。我应该如何添加它,对吗?: ('#field').val(string + '@domain.com'); 我的编辑改变了一些东西。查看我添加的JSFiddle demo,它应该适合你。 是的,确实如此。完美的!非常感谢!【参考方案3】:

使用来自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);

【讨论】:

【参考方案4】:

让我们用 toSting 来生成字母数字字符串

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

尽可能短

如果你希望第一个字符是一个字母,可以结合从字符列表中选择第一个字符

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

【讨论】:

以上是关于使用 jQuery 的随机“电子邮件格式”文本的主要内容,如果未能解决你的问题,请参考以下文章

电子邮件格式基础(纯文本电子邮件中的链接)

如何在 ReactJS 中检查文本输入是不是具有有效的电子邮件格式?

在 Outlook 电子邮件回复中包含原始文本和格式

如何检查在edittext中输入的有效电子邮件格式

C# 中的 HTML 到文本电子邮件转换器

如何把电子邮件格式改成HTML格式