javascript判断IPV6格式

随着ipv6的普及,在web上添加ip6地址的要求逐渐增多,下面这个函数是我按照ipv6的定义写的判断,可以用来判断正常的,缩写的ipv6格式,同时可以判断ipv6和ipv4混合的格式:

//统计 10F: 或者:10B的个数  function cLength(str){   var reg = /([0-9a-f]{1,4}:)|(:[0-9a-f]{1,4})/gi;   var temp = str.replace(reg,' ');   return temp.length;   }   /*  * 判断ipv6格式  * @author gblfy* * @version 2021-05-26  * */       
function isIPv6(tmpstr)  {  //CDCD:910A:2222:5498:8475:1111:3900:2020   var patrn=/^([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}$/i;   var r=patrn.exec(tmpstr)  if(r)  {  return true;  }  if(tmpstr=="::"){  return true;  }  //F:F:F::1:1 F:F:F:F:F::1 F::F:F:F:F:1格式  patrn=/^(([0-9a-f]{1,4}:){0,6})((:[0-9a-f]{1,4}){0,6})$/i;   r=patrn.exec(tmpstr);  if(r)  {      var c=cLength(tmpstr);  if(c<=7 && c>0) {  return true;  }   }                  //F:F:10F::  patrn=/^([0-9a-f]{1,4}:){1,7}:$/i;   r=patrn.exec(tmpstr);  if(r)   {  return true;  }   //::F:F:10F   patrn=/^:(:[0-9a-f]{1,4}){1,7}$/i;   r=patrn.exec(tmpstr);  if(r)  {  return true;  }  //F:0:0:0:0:0:10.0.0.1格式   patrn=/^([0-9a-f]{1,4}:){6}(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i;   r=patrn.exec(tmpstr);  if(r)  {  if(r[2]<=255 && r[3]<=255 &&r[4]<=255 && r[5]<=255 )  return true;  }  //F::10.0.0.1格式  patrn=/^([0-9a-f]{1,4}:){1,5}:(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i;   r=patrn.exec(tmpstr);  if(r)   {  if(r[2]<=255 && r[3]<=255 &&r[4]<=255 && r[5]<=255 )  return true;  }  //::10.0.0.1格式  patrn=/^::(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i;   r=patrn.exec(tmpstr);  if(r) {  if(r[1]<=255 && r[2]<=255 &&r[3]<=255 && r[4]<=255)  return true;  }  return false;  
}  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里毕玄:推荐给Java程序员的7本好书

我主要还是个Java程序员&#xff0c;所以进阶类型的书就推荐Java相关的。 《Java并发编程实战》 并发是高级语言里都需要掌握的稍微高级一些的技巧&#xff0c;这本书尽管是2012年的书了&#xff0c;但我觉得仍然是无比经典&#xff0c;绝对是必读书。《Netty实战》 Netty是Ja…

释放虚拟GPU力量 NVIDIA 加速企业远程办公生产力变革

现在众多的企业拥抱云和AI技术进行着数字化转型。随着企业在信息化建设的加剧&#xff0c;相关从业人员数量增多的同时&#xff0c;也对设备的计算性能要求越来越高。2020年开年的这场疫情&#xff0c;强制性地让企业进入远程办公模式&#xff0c;这个突发的状况也为企业的IT设…

python3-pandas 缺失数据的处理

1、缺失数据的处理 1.1、判断是否为nan isnull&#xff1a; 是nan为true notnull&#xff1a; 不是nan为true import pandas as pd import numpy as npt3 pd.DataFrame(np.arange(12).reshape(3,4), indexlist("abc"), columnslist("wxyz")) print(t3)…

Stream anyMatch查找案例

package com.gblfy.gxts;import lombok.AllArgsConstructor; import lombok.Data; import org.junit.Before; import org.junit.Test;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;/*** 案例1&#xff1a;* 某班集中有…

记一次Cassandra Java堆外内存排查经历

背景 最近准备上线cassandra这个产品&#xff0c;同事在做一些小规格ECS(8G)的压测。压测时候比较容易触发OOM Killer&#xff0c;把cassandra进程干掉。问题是8G这个规格我配置的heap(Xmx)并不高&#xff08;约6.5g&#xff09;已经留出了足够的空间给系统。只有可能是Java堆…

程序员内功修炼系列:10 张图解谈 Linux 物理内存和虚拟内存

来源 | 后端技术学堂责编 | Carol封图 | CSDN 付费下载于视觉中国我们都知道&#xff0c;程序可没这么好骗&#xff0c;任你内存管理把虚拟地址空间玩出花来&#xff0c;到最后还是要给程序实实在在的物理内存&#xff0c;不然程序就要罢工了。所以物理内存这么重要的资源一定要…

阿里高级技术专家方法论:如何写复杂业务代码?

阿里妹导读&#xff1a;张建飞是阿里巴巴高级技术专家&#xff0c;一直在致力于应用架构和代码复杂度的治理。最近&#xff0c;他在看零售通商品域的代码。面对零售通如此复杂的业务场景&#xff0c;如何在架构和代码层面进行应对&#xff0c;是一个新课题。结合实际的业务场景…

Android Studio 安装教程

注意安装之前请配置好java 和 Android SDK 1、下载 官网地址&#xff1a; https://developer.android.google.cn/studio/ 点击下载后&#xff0c;需要同意协议&#xff1a; 2、安装 1、双击程序 2、一路 next&#xff0c;如果想修改路径可自行修改。 3、安装完成点击Fi…

Stream filter过滤案例

package com.gblfy.gxts;import com.google.common.collect.Lists; import lombok.AllArgsConstructor; import lombok.Data; import org.junit.Before; import org.junit.Test;import java.util.List;/*** 案例2&#xff1a;* 标签管理功能模块。允许用户批量添加标签&#xf…

Schedulerx2.0工作流支持数据传输

1. 前言 Schedulerx2.0是阿里中间件自研的基于akka架构的新一代分布式任务调度平台&#xff0c;提供定时、任务编排、分布式跑批等功能&#xff0c;具有高可靠、海量任务、秒级调度等能力。 Schedulerx2.0提供可视化的工作流进行任务编排&#xff0c;该文章将详细介绍如何使用…

应用实时监控 ARMS 上线用户行为回溯功能

随着前端技术日新月异迅猛发展&#xff0c;为了实现更好的前端性能&#xff0c;最大程度提高用户体验&#xff0c;支持单页应用的框架逐渐占领市场&#xff0c;如众所周知的React&#xff0c;Vue等等。但是在单页应用的趋势下&#xff0c;快速定位并解决JS错误却成为一大难题。…

Android Studio 创建第一个Android工程项目

1、打开Android Studio 2、点击 New Project 选择 Empty Activity 3、点击 Next 4、点击 Finish 等待加载完成&#xff0c;取决于网络&#xff0c;第一次加载可能要很久。。。 5、下载完成 可以在右上角切换为 Project 模式 6、创建一个虚拟设备 https://www.bilibili…

我竟然混进了 Python 高级圈子!

现如今&#xff0c;计算机科学、人工智能、数据科学已成为技术发展的主要推动力。无论是要翻阅这些领域的文章&#xff0c;还是要参与相关任务&#xff0c;你马上就会遇到一些拦路虎&#xff1a;想过滤垃圾邮件&#xff0c;不具备概率论中的贝叶斯思维恐怕不行&#xff1b;想试…

Tablestore + Blink实战:交易数据的实时统计

背景 交易数据的实时统计是电商网站一个核心功能&#xff0c;可以帮助用户实时统计网站的整体销售情况&#xff0c;快速验证“新销售策略”的效果。我们今天介绍一个基于表格存储(Tablestore)实现交易数据的实时计算&#xff0c;给大家提供一个新使用方式。 Tablestore作为在…

无标注数据是鸡肋还是宝藏?阿里工程师这样用它

阿里妹导读&#xff1a;针对业务场景中标注数据不足、大量的无标注数据又难以有效利用的问题&#xff0c;我们提出了一种面向行为序列数据的深度学习风控算法 Auto Risk&#xff0c;提出通过代理任务从无标注数据中学习通用的特征表示。这种思想与目前 NLP 领域前沿的 Bert 等预…

Android 控件 - TextView

1、TextView https://www.bilibili.com/video/BV13y4y1E7pF?p3 1.1、layout_width、layout_height match_parent&#xff1a;表示让当前控件的大小和父布局的大小一样&#xff0c;也就是由父布局来决定当前控件的大小 wrap_content&#xff1a;表示让当前的控件大小能够刚好…

为什么选择Cassandra

cassandra概况 为什么选择Cassandra&#xff1f;cassandra到底有那些令人印象深刻的特点呢&#xff1f;不防我们先来看下cassandra目前的大体概况。 理论扎实&#xff0c;师出名门 cassandra不仅吸收了dynamo论文中的如何做分布式&#xff0c;如何做副本复制&#xff0c;故障…

编码方法论,赋能你我他

导读 Don Roberts提出的一条重构准则&#xff1a; 第一次做某件事时只管去做&#xff1b;第二次做类似的事时会产生反感&#xff0c;但无论如何还是可以去做&#xff1b;第三次再做类似的事时&#xff0c;你就应该重构。 编码也是如此&#xff0c;当多次编写类似的代码时&…

加速开放混合云技术开发,满足客户新需求,红帽打出这套组合拳!

云计算发展有几十年的历史了&#xff0c;随着科技的进步和发展&#xff0c;云技术慢慢渗透到各行各业&#xff0c;企业上云也不再是新鲜事&#xff0c;据《2020-2026年中国云计算行业市场分析预测及战略咨询研究报告》数据显示&#xff1a;2018年&#xff0c;以IaaS、PaaS和Saa…

使用iframe遇到的问题及解决

记录一下使用iframe遇到的bug 动态的iframe src与返回的bug 场景&#xff1a;iframe嵌入页面&#xff0c;有多个tab&#xff0c;切换tab修改iframe的src&#xff0c;显示不同的页面 <ul><liv-for"tab in tabList":key"tab.tabName"class"t…