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