您的位置:首页 > 编程语言 > C语言/C++

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

2012-10-09 13:46 459 查看
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>usingnamespace std;

int main()
{
constchar* expr ="\\w{3,16}";
CRegxString regxstr;
regxstr.ParseRegx(expr);
for(int i =0;i <10;++i)
cout<<regxstr.RandString()<<endl;
return0;
}

试用了一下,用下面的表示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
382.255.223.252
210.214.238.24
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: