• 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

     

  • 相关阅读:
    redis
    装饰器之functools与before_request
    版本
    git常用命令
    支付宝支付示例
    ContentType
    vue的基础使用
    es6简单介绍
    解析器、路由控制、分页与响应器
    元素水平居中的方法
  • 原文地址:https://www.cnblogs.com/nidakun/p/2716660.html
Copyright © 2020-2023  润新知