哈尔滨人, 写代码, 打篮球.
any86 / any-rule Goto Github PK
View Code? Open in Web Editor NEW🦕 常用正则大全, 支持web / vscode / idea / Alfred Workflow多平台
Home Page: https://any-rule.vercel.app/
License: MIT License
🦕 常用正则大全, 支持web / vscode / idea / Alfred Workflow多平台
Home Page: https://any-rule.vercel.app/
License: MIT License
/^<!--[\s\S]*?-->$/
不对,需要改成 /<!--[\s\S]*?-->/
\w
等价于 [A-Za-z0-9_]
,所以写成 /^[a-zA-Z]\w{4,15}$/
或者 /^[a-z]\w{4,15}$/i
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>");
}
将统一社会信用代码进行截取,自倒数第2位数字开始往前共推9位数字。
比如这样: 91110108101966816T ----> 101966816
这样的可以吗 不行只能截取字符串在判断
可否加一个营业执照(统一社会信用代码)的正则验证?
稳住!
我不知道你这个本意是严格还是宽松验证,这个不过的例子非常多,比如
<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-parser
https://github.com/thx/magix-composer/blob/master/plugins/html-parser.js#L19
下列地址是合法的E-mail地址,但是无法验证通过:
wood@[123.123.13.3]
jsmith@[IPv6:2001:db8::1]
admin@mailserver1
" "@example.org
"john..doe"@example.org
见 https://en.wikipedia.org/wiki/Email_address
https://tools.ietf.org/html/rfc5321#section-4.1.3
微软的文档中有一个好一些的正则,见 https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format
百度云+提取码
let str = "s "; //存在空格,此校验未达到目的。不应该遍历字符串的每一个字符吗?正则没有问题,但是在此暴露出来的功能存在疑问。
这个正则 为啥 放在oc上面不能使用呢?
/^.(?=.{8,20})(?=.\d)(?=.[A-Z])(?=.[a-z])(?=.[!@#$%^&?-_]).*$/
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
}
有国外手机号的正则判断吗
[email protected] 为什么这种邮箱都能通过验证???
/^thunderx?:\/\/[a-zA-Z\d]+=$/
迅雷链接还可能是 thunderx://xxx
詹姆斯
我是在掘金上看到您的文章,您写的真好。是这样的,我这边在做一个车辆VIN的校验,您能帮我写一下吗,谢谢您了
/^https?:\/\/.*?(\.(?:gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i
如https://www.abc.com/logopng
这类URL不应该被判断为图片链接地址,后缀前应该加.
号。
README.md 内RULE.js 路径错误, 已提pr, 熟悉下流程,铁皮饭盒别嫌弃
库是挺好的,但是这样每次复制粘贴用起来不方便。
2019-04-17T06:39:32.000Z
/^\d{4}(-)(1[0-2]|0?\d)\1([0-2]\d|\d|30|31)$/.test('2019-02-31')
验证为true
thanks
北京银行的卡号 24位,虽然很特殊,确实是如此的,校验规则需要改下
- /(^\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])$)/
用字符组代替多选结构,可以提升性能
/^(\/[^\/]+)+$/
Linux 文件和文件夹命名应该允许除/
外的任意字符
遇到一个问题,文本中每个段落有两个回车符(紧挨着),要把回车符转成
,但是每次转的时候都是换成两个回车符,求教一下,怎么一次把两个回车符换成一个换行
能不能增加一些 端口,子网掩码,还要windows ,linux 路径相关的正则呀
可以完善一个既可以中文也可以字母同时可以中文加字母结构的正则吗?
html的注释正则应该是 /<!--[\s\S]*?-->/
html注释以-->
结束,可以在中间,另外注释中可以回车换行,.
并不匹配换行
******198810281422
老哥看看
/^150$|^(?:\d|[1-9]\d|1[0-4]\d)(?:.5)?$/
减少没必要的捕获
/^(\/[^\/]+)+\/?$/
Linux 文件和文件夹命名应该允许除/
外的任意字符
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.