求一个正则表达式验证IP地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个正则表达式验证IP地址相关的知识,希望对你有一定的参考价值。

(\d1,2|1\d\d|2[0-4]\d|25[0-5])\第四个空这能填写两位数
完整的正则表达式是:(\d1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d1,2|1\d\d|2[0-4]\d|25[0-5]) 但IP地址只能是例如:192.168.100.11 如果输入192.168.100.110会有错误,请各位帮帮忙看看怎么回事,谢谢!

问题就出在:\d1,2上,这个匹配了“只有两个数字”的表达式。所以后面的1\d\d|2[0-4]\d|25[0-5]就不再匹配了。如果你想改,就在整个式子的最后边,加上一个\b变成:

(\d1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d1,2|1\d\d|2[0-4]\d|25[0-5])\b

试试看~~~
参考技术A JS中这样写
var CheckMail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
var email = document.getElementById( "email" );
if(!CheckMail.test(email))

alert("email格式不对!"); return false;

真正含意不想多说正则这东西。说了也只会一知半解!
参考技术B !-- name,phone,age,money checked-->
<script language=javascript>
isName = /^[A-Za-z\-]+$/; //这个是表明输入的名字只能是字母和连字符组成
isPhone = /^(\+\d+ )?(\(\d+\) )?[\d ]+$/; //这个是国际通用的电话号码判断
isAge = /^(1[0-2]\d|\d1,2)$/; //这个是年龄的判断
isMoney = /^\d+\.\d2$/; //这个是判断输入的是否为货币值
</script>
<!-- Email地址有效性验证函数-->
<script language=javascript>
function isEmail(src)
return (isEmail1.test(src) && isEmail2.test(src));


isEmail1 = /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/;
isEmail2 = /^.*@[^_]*$/;
</script>
<!-- IP地址有效性验证函数,这个不对-->
<script language=javascript runat=server>
ip_ip = '(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)';
ip_ipdot = ip + '\\.';
isIPaddress = new RegExp('^'+ip_ipdot+ip_ipdot+ipdot+ip_ip+'$');
</script>
改成如下,已经检验正确:
/*检查字符串是否合法的ip字符串*/
function isIp(ip)
if(ip=="")return true;
ip_ip = '(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)';
ip_ipdot = ip_ip + '\\.';
isIPaddress = new RegExp('^'+ip_ipdot+ip_ipdot+ip_ipdot+ip_ip+'$');

if(ip.match(isIPaddress)==null)
return false;

return true;

<!-- password有效性验证函数-->
<script language=javascript>
function TestPwd(src)
var sxf,regex; sxf='^[\\w]6,12$';
regex=new RegExp(sxf);
return regex.test(src);

</script>
<!--ZipCode check function-->
<script language=javascript>
function TestZipCode(src)
var ZipCode,regex; ZipCode="^[\\d]6$"
regex=new RegExp(ZipCode);
return regex.test(src);
</script>
<!--验证用户输入身份证号的合法性-->
<script language=javascript>
isIdCorrect1=/^\d15$/;
isIdCorrect2=/^\d18$/;
function isIdCorrect(src)
return(isIdCorrect1.test(src)&&isIdCorrect2.test(src));

</script>
参考技术C 不是很明白你的意思,我的猜想你要的结果写的:(\d1,2|1\d\d|2[0-4]\d|\d2)

Js 正则表达式验证IP地址

1.验证方法

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);
} 

2.判断

isValidIP(NewIP) == false

 

 

以上是关于求一个正则表达式验证IP地址的主要内容,如果未能解决你的问题,请参考以下文章

使用正则表达式在python中验证IP地址[重复]

正则表达式验证Ip地址(绝对正确)

正则表达式验证Ip地址(绝对正确)

如何在 Objective-C 中使用正则表达式验证 IP 地址?

正则表达式,匹配IP地址的,求大神帮我解释这行代码。^([1-9][1-9][0-9]1[0-

使用正则表达式验证IP地址