正则表达式匹配ip
正则表达式匹配ip
正则表达式,大家都有使用吧。 不知道大家的开发流程是怎么样的。 我一般习惯先在浏览器console中调试开发正则,然后复制到java/c#中使用。
最开始很简单的一个需求, 需要输入ip + 端口, 示例: 127.0.0.1:7701
这个表达式很简单的,网上一抓一大把
1
2
3
4
5
6
7
8
9
-> /^((\d{1,3}\.){3}\d{1,3})(?::(\d{1,5}))?$/.test("123.0.0.133")
-> true
-> /^((\d{1,3}\.){3}\d{1,3})(?::(\d{1,5}))?$/.test("123.0.0.133:2312")
-> true
-> /^((\d{1,3}\.){3}\d{1,3})(?::(\d{1,5}))?$/.test("123.0.0.133:2312,123")
-> false
今天又一个很简单的需求,由于服务器支持tcp和http两个端口的修改,而c#客户端又只有一个配置窗口, 所以想着怎么把 ip + 两个端口一起配置。
这个很简单,随便一想。语法格式出来了: ip地址:http端口,tcp端口, 比如: 127.0.0.1:7701,7702
接着写正则表达式: “/^((\d{1,3}.){3}\d{1,3})(?::(\d{1,5}))?(?:,(\d{1,5}))?$/.test(“123.0.0.133:2313,123”)”
这个表达式在console中调试通过,有效。
js代码如下
1
2
3
4
5
6
7
8
9
10
11
12
-> /^((\d{1,3}\.){3}\d{1,3})(?::(\d{1,5}))?(?:,(\d{1,5}))?$/.test("123.0.0.133")
-> true
-> /^((\d{1,3}\.){3}\d{1,3})(?::(\d{1,5}))?(?:,(\d{1,5}))?$/.test("123.0.0.133:22")
-> true
-> /^((\d{1,3}\.){3}\d{1,3})(?::(\d{1,5}))?(?:,(\d{1,5}))?$/.test("123.0.0.133,123")
-> true
-> /^((\d{1,3}\.){3}\d{1,3})(?::(\d{1,5}))?(?:,(\d{1,5}))?$/.test("123.0.0.133:22,23")
-> true
This post is licensed under CC BY 4.0 by the author.