前言
ip以及端口号的正则表达式
在逻辑应用比较广泛
前置知识点:^匹配开头第一个,$匹配的结尾
对于更多的知识点可看我java框架:
java框架零基础从入门到精通的学习路线(超全)
1. ip地址
关于可用的ip地址可看我之前写的一篇文章:
可使用的局域网地址范围
【1-9】表示取1到9的数字范围,这种是取值的正则
- 第一个数字
((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))
250-255,正则为25[0-5]
200到249,正则为2[0-4]\d
100到199,正则为1\d{2},{2}代表有2个数字d
0到99,正则为[1-9]?\d,?代表一个或者零个1到9
每个数字之间都有个.
通过\.
进行转义 - 第二三四的数字同理所以使用
{3}
ip地址的python正则为:
r"^(((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))"
通过这个网址可看到:regex101官网
写成python(展示个人项目的东西):
本身验证的地址就是ip:端口号
,通过分割的形式获取到想要的ip以及端口号
sidorip = kwargs.get("sidorip","")
pattern1 = re.compile(
r"^(((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))")
if pattern1.match(sidorip):
my_list = sidorip.split(':')
host = my_list[0]
port = my_list[1]
如果是js格式的验证ip地址:
var sidorip = $('#sidorip').val().trim();
console.log(sidorip)
var pattern = /^(((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$/;
if(sidorip.match(pattern) == null) {
alert(" SID / IP 格式错误 , 请重新刷新网页添加正确的格式 ")
}
关于ip的正则 也可以将其拆分,但是个位数与上面不同:
r"^(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])"
2. 端口号
端口号的地址是:1-65535
同理ip地址,将其拆分开来
通过
60000-65535;10000-59999;1000-9999;100-999;10-99;0-9
端口号的正则表达式:
^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
如果这部分代码放在js模块中:
var sidorip = $('#sidorip').val().trim();
console.log(sidorip)
var pattern = /^(\:([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]))$/;
if(sidorip.match(pattern) == null) {
alert(" SID / IP 格式错误 , 请重新刷新网页添加正确的格式 ")
}
^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$
^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$
3. ip:端口号
如果两者合并,只是多了:
的转义
python的正则如下:
^(((25[0-5]|2[0-4]d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))\:([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$