javascript如何验证ip是否合法?

摘要:正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

JavaScript可以使用正则表达式验证IP地址是否合法:

<html>
<head>
</head>
 
<body>
<input id="xxx" οnblur="fun();" />
 
<script>
function isValidIP(ip)   
{   
    var reg =  /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.
    (\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/   
    return reg.test(ip);   
}  
 
 
function fun()
{
	var ip = document.all.xxx.value;
	if(isValidIP(ip))
	{
		alert("yes");
	}
	else
	{
		alert("no");
	}
}
 
</script>
 
</body>
 
</html>

iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式

下面给出相对应的正则表达式:

"^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"

验证IPv4正则讲解:

  • \\d表示0~9的任何一个数字

  • {2}表示正好出现两次

  • [0-4]表示0~4的任何一个数字

  • | 的意思是或者

  • ( )上面的括号不能少,是为了提取匹配的字符串,表达式中有几个()就表示有几个相应的匹配字符串

  • 1\\d{2}的意思就是100~199之间的任意一个数字

  • 2[0-4]\\d的意思是200~249之间的任意一个数字

  • 25[0-5]的意思是250~255之间的任意一个数字

  • [1-9]\\d的意思是10~99之间的任意一个数字

  • [1-9])的意思是1~9之间的任意一个数字

  • \\.的意思是.点要转义(特殊字符类似,@都要加\\转义)

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_8068