js,c/c++生成随机字符(去除易混淆字符)

1.javascript

// 获取长度为len的随机字符串
function _getRandomString(len) {
    len = len || 32;
    var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; // 默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1
    var maxPos = $chars.length;
    var pwd = '';
    for (i = 0; i < len; i++) {
        pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
    }
    return pwd;
}

2.C/C++

示例用法:

C/C++ code
~ # echo " \w{3,16} " | regxstr 10


作用为产生10个符合正则表达式“\w{3,16}”的字符串

同时提供头文件,静态库和共享库,使用方法为:

C/C++ code
#include < iostream > #include < regxstring.h > using namespace std; int main() { const char * expr = " \\w{3,16} " ; CRegxString regxstr; regxstr.ParseRegx(expr); for ( int i = 0 ;i < 10 ; ++ i) cout << regxstr.RandString() << endl; return 0 ; }

 

 

试用了一下,用下面的表示IP地址的正则表达式:

C/C++ code
^ ( ? :( ? : 25 [ 0 - 5 ] | 2 [ 0 - 4 ][ 0 - 9 ] | [ 01 ] ? [ 0 - 9 ][ 0 - 9 ] ? )\.){ 3 }( ? : 25 [ 0 - 5 ] | 2 [ 0 - 4 ][ 0 - 9 ] | [ 01 ] ? [ 0 - 9 ][ 0 - 9 ] ? )$



产生了下面的结果:

C/C++ code
251.232 . 237.12
253.222 . 254.209
229.211 . 213.252
230.253 . 202.220
074.6 . 255.25
3 82.255 . 223.252
210.214 . 238.24

 

转载于:https://www.cnblogs.com/nidakun/archive/2012/10/09/2716660.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值