javascript如何验证ip是否合法?

正则表达式(英语: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之间的任意一个数字

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

以上就是javascript如何验证ip是否合法?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读