Code Monkey home page Code Monkey logo

any-rule's Introduction

any-rule's People

Contributors

2017noobman avatar 52cik avatar any86 avatar chenguzhen87 avatar dependabot[bot] avatar dirackeeko avatar fe-ng avatar heshimang avatar ilxiaoli avatar imgbotapp avatar jiangkaifree avatar jsercao avatar liuyib avatar microud avatar notbucai avatar q310550690 avatar richex-cn avatar songjianet avatar thelostword avatar trentlee0 avatar xiaoyierle avatar zongxiaoyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

any-rule's Issues

补充一个不常用的

  1. /^([1-9]\d|[1-9])(.([1-9]\d|\d)){2}$/ 版本号格式必须为X.Y.Z且首位不可为0,用于app后台录入

我有更好的正则: html注释

html的注释正则应该是 /<!--[\s\S]*?-->/

html注释以-->结束,可以在中间,另外注释中可以回车换行,.并不匹配换行

博主您好

我是在掘金上看到您的文章,您写的真好。是这样的,我这边在做一个车辆VIN的校验,您能帮我写一下吗,谢谢您了

网址正则会匹配到 ....

/^(?:(?:https?|ftp):\/\/)?(?:[\da-z.-]+)\.(?:[a-z.]{2,6})(?:\/\w\.-]*)*\/?/ 这个正则会匹配到....。这是个错误。
屏幕快照 2019-11-20 下午5 53 14

我有更好的正则: 身份证号, 支持1/2代(15位/18位数字)

- /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/
+ /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}([\dXx])$)/

用字符组代替多选结构,可以提升性能

提个小建议

库是挺好的,但是这样每次复制粘贴用起来不方便。

  • 发布成 npm 包是否更好了,使用方便。
  • 发布一个 vscode 正则常用自动补全插件。

银行卡号长度

北京银行的卡号 24位,虽然很特殊,确实是如此的,校验规则需要改下

端口,掩码 路径

能不能增加一些 端口,子网掩码,还要windows ,linux 路径相关的正则呀

我有更好的正则: 二代身份证号(18位数字),最后一位是校验位,可能为数字或字符X

function validateSecIdCard(g) {
    var f = 0;
    var a = g;
    var e = {
        11: "北京",
        12: "天津",
        13: "河北",
        14: "山西",
        15: "内蒙",
        21: "辽宁",
        22: "吉林",
        23: "黑龙",
        31: "上海",
        32: "江苏",
        33: "浙江",
        34: "安徽",
        35: "福建",
        36: "江西",
        37: "山东",
        41: "河南",
        42: "湖北",
        43: "湖南",
        44: "广东",
        45: "广西",
        46: "海南",
        50: "重庆",
        51: "四川",
        52: "贵州",
        53: "云南",
        54: "西藏",
        61: "陕西",
        62: "甘肃",
        63: "青海",
        64: "宁夏",
        65: "**",
        71: "**",
        81: "香港",
        82: "澳门",
        83: "**",
        91: "国外"
    };
    if (!/^\d{17}(\d|x)$/i.test(a)) {
        return false
    }
    a = a.replace(/x$/i, "a");
    if (e[parseInt(a.substr(0, 2))] == null) {
        return false
    }
    var c = a.substr(6, 4) + "-" + Number(a.substr(10, 2)) + "-" + Number(a.substr(12, 2));
    var h = new Date(c.replace(/-/g, "/"));
    if (c != (h.getFullYear() + "-" + (h.getMonth() + 1) + "-" + h.getDate())) {
        return false
    }
    for (var b = 17; b >= 0; b--) {
        f += (Math.pow(2, b) % 11) * parseInt(a.charAt(17 - b), 11)
    }
    if (f % 11 != 1) {
        return false
    }
    return true
}
function validateFirIdCard(g) {
    var f = 0;
    var a;
    var e = {
        11: "北京",
        12: "天津",
        13: "河北",
        14: "山西",
        15: "内蒙",
        21: "辽宁",
        22: "吉林",
        23: "黑龙",
        31: "上海",
        32: "江苏",
        33: "浙江",
        34: "安徽",
        35: "福建",
        36: "江西",
        37: "山东",
        41: "河南",
        42: "湖北",
        43: "湖南",
        44: "广东",
        45: "广西",
        46: "海南",
        50: "重庆",
        51: "四川",
        52: "贵州",
        53: "云南",
        54: "西藏",
        61: "陕西",
        62: "甘肃",
        63: "青海",
        64: "宁夏",
        65: "**",
        71: "**",
        81: "香港",
        82: "澳门",
        83: "**",
        91: "国外"
    };
    if (g.length == 15) {
        a = idCardUpdate(g)
    } else {
        a = g
    }
    if (!/^\d{17}(\d|x)$/i.test(a)) {
        return false
    }
    a = a.replace(/x$/i, "a");
    if (e[parseInt(a.substr(0, 2))] == null) {
        return false
    }
    var c = a.substr(6, 4) + "-" + Number(a.substr(10, 2)) + "-" + Number(a.substr(12, 2));
    var h = new Date(c.replace(/-/g, "/"));
    if (c != (h.getFullYear() + "-" + (h.getMonth() + 1) + "-" + h.getDate())) {
        return false
    }
    for (var b = 17; b >= 0; b--) {
        f += (Math.pow(2, b) % 11) * parseInt(a.charAt(17 - b), 11)
    }
    if (f % 11 != 1) {
        return false
    }
    return true
}
function idCardUpdate(g) {
    var b;
    var f = /^(\d){15}$/;
    if (f.test(g)) {
        var e = 0;
        var a = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
        var d = new Array("1","0","X","9","8","7","6","5","4","3","2");
        g = g.substr(0, 6) + "19" + g.substr(6, g.length - 6);
        for (var c = 0; c < g.length; c++) {
            e += parseInt(g.substr(c, 1)) * a[c]
        }
        g += d[e % 11];
        b = g
    } else {
        b = "#"
    }
    return b
}

我有更好的正则: 是否html标签

我不知道你这个本意是严格还是宽松验证,这个不过的例子非常多,比如

<div id="abc"></div>
<br>
<div>
内容换行了
</div>

你可以参考下html-parser https://github.com/blowsie/Pure-JavaScript-HTML5-Parser/blob/master/htmlparser.js#L85

startOpen就是验证开始html标签的,你或许需要整理下
不过上面这个也是宽松了一些,更完整的可以看这个html-parserhttps://github.com/thx/magix-composer/blob/master/plugins/html-parser.js#L19

业务中需要一个 IP + port 的正则

example.com:8080 (Valid)
10.15.123.14:8080 (Valid)
example.com (Invalid)
10.15.123.14 (Invalid)

答案

var str = [
    "Example.com:8080",
    "10.15.123.14:8080",
    "example.com",
    "10.13.123.14",
    "example!1.com:8080",
    "example-1.com:8080",
    "example!1.com:8080",
    "example\1.com:8080",
    "example1.com:8"
    ];

var regex = /^([a-z0-9\-]+\.)+[a-z0-9]+\:[1-9][0-9]+$/i;

for(var i=0; i < str.length; i++) {
    $('#test').append(regex.test(str[i])+"</br>");
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.