• js中的IP格式正则匹配校验详解~


    IPV4的格式为x:y:z:w,其中{x,y,z,w}属于{0~255}的正整数;

    下面是其校验的正则表达式:

    1. function isIP(ip)   
    2. {   
    3.     var re =  /^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/   
    4.     return re.test(ip);   
    5. }  

    其中 /^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/   定义了一个正则表达式:

    ^(d{1,2}|1dd|2[0-4]d|25[0-5]).--------^~代表开头,表示要么是两位数、要么是以1开头的三位数,要么以2开头的但是不能超过255的三位数
    (d{1,2}|1dd|2[0-4]d|25[0-5]).---------限定了介于0~255之前的整数
    (d{1,2}|1dd|2[0-4]d|25[0-5]).---------限定了介于0~255之前的整数
    (d{1,2}|1dd|2[0-4]d|25[0-5])$---------$~代表以介于0~255之前的整数结尾。

    d 匹配一个字数字符,/d/ = /[0-9]/;

    {n,m} 匹配n-m次;

    [xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符);

    做为转意,即通常在""后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后//,转意为匹配一个单词的边界。

    第二种正则表达式:

    1. function isIP(ip)  
    2. {  
    3.     var reg = /^(d+).(d+).(d+).(d+)$/;  
    4.     if (reg.test(ip))  
    5.     {  
    6.         ip.match(reg);  
    7.         if (RegExp.$1<=255&&RegExp.$1>=0  
    8.           &&RegExp.$2<=255&&RegExp.$2>=0  
    9.           &&RegExp.$3<=255&&RegExp.$3>=0  
    10.           &&RegExp.$4<=255&&RegExp.$4>=0)  
    11.         {  
    12.             return true;   
    13.         }else  
    14.         {  
    15.             return false;  
    16.         }  
    17.     }else  
    18.     {  
    19.         return false;  
    20.     }  
    21. }  

    学习博客http://blog.csdn.net/pg_guo/article/details/8532147有感而发~~

  • 相关阅读:
    C语言学习笔记(二)数据类型、常量和变量简介
    将汉字转换为汉语拼音java实现
    C语言学习笔记(四)运算符与表达式(下)
    数组的几种排序算法的实现
    C语言学习笔记(三)运算符与表达式(上)
    java实现二叉树的常见操作
    java解析Internet网页中的内容
    C语言学习笔记(六)分支程序设计
    C语言学习笔记(一)初识C语言
    C语言学习笔记(五)顺序程序设计
  • 原文地址:https://www.cnblogs.com/enternal07/p/4806931.html
Copyright © 2020-2023  润新知