根据正则表达式生成随机字符串。 JavaScript的

时间:2014-07-03 01:32:40

标签: javascript regex string random

假设您想要一个基于正则表达式的确定大小的随机字符串。

解决问题的方法是:首先定义'所有可能的'字符的 ,然后随机选择来自它的一个char,看看是否匹配正则表达式,然后再次进行必要的次数,直到完成随机字符串。

一个问题是,使用这种方法可能无法完成。

这是我的代码:

var set=
    'abcdefghijklmnopqrstuvwxyz'+
    'ABCDEFGHIJKLMNOPQRSTUVWXYZ'+
    '0123456789'+
    'ºª\\!|"@·#$~%¦&¬/½(⅛)^=`\'?¯¿˘[`+]*´{¨ç}ÇñÑ.:,;-_<>«»¶¥ŧđ¢ħ£æø€åœð®þŋߤ׵';
function randomString(size, regex){
    var i=0;
    text='';
    var length=set.length-1;
    while(i<size){
        var nth=Math.round(Math.random()*length);
        var ch=set.charAt(nth);
        if(ch.match(regex)){
            text+=ch;
            i++;
        }
    }       
    return text;
};

有更好的方法吗?

0 个答案:

没有答案