<script type="text/javascript">
var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]$/;
var str = '1.10.10.151'
var str2 = '01.10.10.151';
alert(reg.test(str)); // true;
alert(reg.test(str2)); // false;
</script >
var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]$/;
var str = '1.10.10.151'
var str2 = '01.10.10.151';
alert(reg.test(str)); // true;
alert(reg.test(str2)); // false;
</script >
<script type="text/javascript">
var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]?$/;
var str = '1.10.10.151'
var str2 = '01.10.10.151';
alert(reg.test(str)); // true;
alert(reg.test(str2)); // false;
</script >
function IsEmail(str)
{
var reg=/^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/;//匹配IPP的
if(str.match(reg))
{
return true;
}
else
{
return false;
}
}
举例说明吧 例如拿这个 说明 A.B.C.D
要求 A是 1<=A<=223
B是 0<=B<=255
C是 0<=C<=255
D是 1<=D<255并且 A,B,C,D 每个数字如果大于0 不能出现上面所说的情况 01 010 015 等这种情况!
{
var re=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; //IP正则
if(re.test( strIP ))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
//首位必需为1-223之间除127之外的任一数字,末位不能为0或255
if((n1>0 && n1<224 && n1!=127) && (n2>=0 && n2<=255) && (n3>=0 && n3<=255) && ( n4>0 && n4<255))
{
return true;
}
}
return false;
}
function isMask(strMask)
{
//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])){3}$/; //IP正则
var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;//IP正则
if(reg.test(strMask))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
if(isNaN(n1) || isNaN(n2) || isNaN(n3) || isNaN(n4))
{
return false;
}
if( (n1>255 || n1<0)|| (n2>255 || n2<0) || (n3>255 || n3<0) || (n4>255 || n4<0))
{
return false;
} var tmp = (n1*Math.pow(2,24))+(n2*Math.pow(2,16))+(n3*Math.pow(2,8))+n4;
if(tmp < Math.pow(2,31))
{
return false;
}
else
{
tmp -= Math.pow(2,31);
//后续位必须为连续的1
for (i = 30; i > 1; i --)
{
if (tmp == 0)
{
break;
}
else if(tmp < Math.pow(2,i))
{
return false;
}
else
{
tmp -= Math.pow(2,i);
}
}
}
}
else//!reg.match( strMask)
{
return false;
}
return true;
}以上两个函数是一经常用到了,已经过多次测试应该没问题的
222.1.1.100返回false
我这边执行结果是true哦?你可以用最简单的代码测试:<html>
<head>
<title>test</title>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache" >
<meta http-equiv="Cache-Control" content="must-revalidate">
<meta http-equiv="Expires" content="-1">
</head>
<body>
</body>
<script language="JavaScript">
function isIP(strIP)
{
var re=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; //IP正则
if(re.test( strIP ))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
//首位必需为1-223之间除127之外的任一数字,末位不能为0或255
if((n1>0 && n1<224 && n1!=127) && (n2>=0 && n2<=255) && (n3>=0 && n3<=255) && ( n4>0 && n4<255))
{
return true;
}
}
return false;
} alert(isIP("222.1.1.100"));
</script>
</html>
var regxip = /((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
return regxip.test(ipAddress);
}
* 判断是否为IP
*/function isIp(ipAddress){
var re=/^(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)$/;
if(re.test( ipAddress ))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
//首位必需为1-223之间除127之外的任一数字,末位不能为0或255
if((n1>0 && n1 <224 && n1!=127) && (n2>=0 && n2 <=255) && (n3>=0 && n3 <=255) && ( n4>0 && n4 <255))
{
return true;
}
}
return false; }
var reg=/^[1-9]\d{2}\.(0|([1-9]\d{2}))\.(0|([1-9]\d{2}))\.(0|([1-9]\d{2}))$/;
alert(reg.test("127.0.0.1"));
alert(reg.test("172.016.051.100"));
alert(reg.test("172.16.51.100"));
^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-6])){2}.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-6])$
用得着这么麻烦吗?你试试我 26 楼的方法。
function isIP(ipAddress) {
var regxip = /((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
return regxip.test(ipAddress);
}
function isIP(ipAddress) {
var regxip = /(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){2}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
if (regxip.test(ipAddress)) {
var b1 = parseInt(RegExp.$1);
var b2 = parseInt(RegExp.$2);
return b1 >= 1 && b1 <= 223 && b1 != 127 && b2 != 0 && b2 != 255;
}
return false;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IP checker</title>
<script type="text/javascript">
//<![CDATA[
function isIP(ipAddress) {
var regxip = /(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){2}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
if (regxip.test(ipAddress)) {
var b1 = parseInt(RegExp.$1);
var b2 = parseInt(RegExp.$2);
return b1 >= 1 && b1 <= 223 && b1 != 127 && b2 != 0 && b2 != 255;
}
return false;
}
//]]>
</script>
</head>
<body>
<div>
<input type="text" id="txtip" name="ip" value="" />
<input type="button" id="btnck" value="Check" onclick="alert(isIP(document.getElementById('txtip').value));" />
</div>
</body>
</html>
楼主有要求首位不能为127?
如果有的话还要再麻烦一点。^([1-9]\d?|1[013-9]\d|12[0-689]|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-4])$
function checkIP(ipstr) {
var regxip = /^(?:22[0-3]|2[01]\d|12[0-689]|1[013-9]\d|[1-9]\d|[1-9])\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-4]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])$/;
return regxip.test(ipstr);
}测试代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IP checker</title>
<script type="text/javascript">
//<![CDATA[
function checkIP(ipstr) {
var regxip = /^(?:22[0-3]|2[01]\d|12[0-689]|1[013-9]\d|[1-9]\d|[1-9])\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-4]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])$/;
return regxip.test(ipstr);
}
//]]>
</script>
</head>
<body>
<div>
<input type="text" id="txtip" name="ip" value="" />
<input type="button" id="btnok" value="Check" onclick="alert(checkIP(document.getElementById('txtip').value));" />
</div>
</body>
</html>