zoukankan      html  css  js  c++  java
  • 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>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

     

  • 相关阅读:
    RedHat的定制安装
    Linux系统概述
    嵌入式学习方法
    mysql联合查询
    mysql之count
    memcached安装
    css书写规则
    nginx的fastcgi_param参数详解
    array_2.array_rand
    array_1.array_map
  • 原文地址:https://www.cnblogs.com/nidakun/p/2716660.html
Copyright © 2011-2022 走看看