- 浏览: 1078545 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (202)
- Android (31)
- Eclipse 使用 (14)
- 笔记 (5)
- 杂七杂八 (3)
- Java (18)
- 数据库 (6)
- web (21)
- JavaScript (24)
- Http (1)
- 杂谈 (1)
- JSP & Servlet (5)
- log4j (1)
- Linux (13)
- MS Office (3)
- postgresql (7)
- Tomcat (5)
- windows (4)
- tmp (1)
- Perl (1)
- Struts2 (17)
- JQuery (5)
- HTML5 (3)
- JSLint (2)
- iphone (1)
- ant (2)
- IE (1)
- tcp (1)
- JBoss (4)
- 正则表达式 (2)
- jmeter (1)
- CI (1)
- sonarqube (1)
- junit (1)
- chrome (1)
- mybatis (2)
- mysql (3)
- spring (2)
- maven (1)
最新评论
-
天使建站:
看这里:jquery里和操作数组的相关的:$.merg ...
JQuery 数组 -
lgywindows:
我照你的方法实现了在java中取国际化。谢谢提供!
spring mvc中,如何在 Java 代码里,获取 国际化 内容 -
ylhkaixin:
请教下大神,我转换报告的时候报错:report: [x ...
通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案) -
lemon_yt:
正在找
spring mvc中,如何在 Java 代码里,获取 国际化 内容 -
Rainbow702:
alike222 写道Rainbow702 写道MyDream ...
通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
大家都知道IPv4的正则表达式很好写,如下:
^((25[0-5]|2[0-4]\d|[0-1]?\d{1,2})\.){3}(25[0-5]|2[0-4]\d|[0-1]?\d{1,2})$
但是IPv6的格式相比较而言,就复杂了不止100倍啊,下面是IPv6格式的简单介绍:
Format is x:x:x:x:x:x:x:x x is a 16 bit hexadecimal field FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 Leading zeros in a field are optional :: can be used to represent multiple groups of 16 bits of zero :: can only be used once in an address FF01:0:0:0:0:0:0:101 = FF01::101 0:0:0:0:0:0:0:1 = ::1 0:0:0:0:0:0:0:0 = ::
不知道谁可以给出一个验证IPv6的正则表达式啊?或者,用迂回的方法也行,即可以通过代码进行判断。
在网上找到一个IPv6的表达式,如下:
^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$
但是这么复杂得无法进行判断啊。
我自己用JAVASCRIPT写了一个迂回的判断方法,如下,有问题,请指教:
// check whether the str is a right IPv6 address function checkIPv6(str) { var idx = str.indexOf("::"); // there is no "::" in the ip address if (idx == -1) { var items = str.split(":"); if (items.length != 8) { return false; } else { for (i in items) { if (!isHex(items[i])) { return false; } } return true; } } else { // at least, there are two "::" in the ip address if (idx != str.lastIndexOf("::")) { return false; } else { var items = str.split("::"); var items0 = items[0].split(":"); var items1 = items[1].split(":"); if ((items0.length + items1.length) > 7) { return false; } else { for (i in items0) { if (!isHex(items0[i])) { return false; } } for (i in items1) { if (!isHex(items1[i])) { return false; } } return true; } } } } // check whether every char of the str is a Hex char(0~9,a~f,A~F) function isHex(str) { if(str.length == 0 || str.length > 4) { return false; } str = str.toLowerCase(); var ch; for(var i=0; i< str.length; i++) { ch = str.charAt(i); if(!(ch >= '0' && ch <= '9') && !(ch >= 'a' && ch <= 'f')) { return false; } } return true; }
发表评论
-
点出 退出 按钮,防止点击浏览的 后退 按钮仍然可以进系统的解决方案
2015-07-09 15:39 2295项目使用的struts2 框架,登陆完了之后,在浏览器的地址 ... -
将树状结构转换为下拉框,供用户进行选择
2015-06-22 19:47 1558需求: ① 给定一个数组 ② 数组中的每个元素均为树结 ... -
javascript中两个感叹号的作用
2014-04-09 16:37 4841最近在在看Javascript代码时,会经常看到代码中使用双 ... -
模态对话框导致setTimeout无效的解决方案(二)
2014-04-03 01:02 2068之前的方案一,请参照:http://rainbow702. ... -
模态对话框导致setTimeout失效的解决方案(一)
2014-04-03 00:27 4159web开发中,大家有可能经历过下面这种问题: ① 画面上通 ... -
JSON.stringify 的注意点
2013-09-23 21:10 2208通过 JSON.parse 把一个object对象转换成JS ... -
正则表达式,分组匹配示例
2013-09-22 11:16 2757假设有如下几行文本: "xxx" : ... -
JavaScript中类型判断
2013-05-15 21:23 992在JS中,对类型的判断,有些时候是必须的。之前一直用的是ty ... -
JSON的格式
2013-04-19 11:29 1164There are just a few rules th ... -
【JavaScript语言精粹系列】apply的用法
2012-12-31 12:40 1586之前写过一个apply的用法的博客:http://rainbo ... -
网页常用的各种尺寸
2012-09-16 18:56 1377//各种尺寸 s += "\r\n网页可见区域宽 ... -
Javascript中, event 的 target 与 currentTarget 的区别
2012-08-31 15:41 2435target在事件流的目标阶段;currentTarget在事 ... -
Javascript中, setTimeout() 和 setInterval() 的方法
2012-08-31 15:26 13951. setTimeout() 方法用于在指定的毫 ... -
Backbone.js 的最佳应用场景有哪些?
2012-08-24 15:27 1817原文地址:http://www.zhihu.com/ ... -
JavaScript 中 的等号(==)/不等号(!=) 和全等号(===)/非全等号(!==) 的用法
2012-08-23 09:05 5307之前使用JavaScript的时候,时不时的会遇到使用 == ... -
Backbone 学习笔记
2012-08-22 14:22 15121. 在 backbone 的 set 方法的源码中,有如下一 ... -
javascript 中 apply 方法的使用
2012-08-17 16:49 1829在看 backbone 的 todos 例子时,有一行代码,如 ... -
JSP中,防止 css js img 等文件的缓存的方法
2012-06-26 11:17 4547被这个问题困扰过很多回,上网也查过很多方法,基本上就是在 &l ... -
javascript(JS) 中的alert出来的消息怎么进行国际化
2012-06-08 16:16 4374以STRUTS2、JSTL为前提 在一般的JSP页面中 ... -
window.open 关闭窗口时,不需要弹出确认框的方法
2012-01-08 20:15 4144以前在老的IE中调用 window.close() 方法 ...
相关推荐
您可能感兴趣的文章:jquery 正整数数字校验正则表达式JavaScript正则表达式校验非零的正整数实例利用js正则表达式校验正数、负数、和小数Javascript校验密码复杂度的正则表达式最全的常用正则表达式大全——包括...
使用URL正则表达式时,可能遇到的问题包括处理IP地址、IPv6地址、非ASCII字符、URL编码等。解决这些问题通常需要扩展基本的正则表达式,以适应更复杂的URL格式。 总结,URL正则表达式是网络开发中不可或缺的工具,...
### JavaScript正则表达式表单验证知识点解析 在Web开发中,前端表单验证是非常重要的一个环节,它能够有效提高用户体验并确保数据的有效性。JavaScript中的正则表达式是实现这一功能的重要工具之一。本文将根据...
### 常用正则表达式知识点解析 #### 一、匹配中文字符的正则表达式 **表达式**: `[\u4e00-\u9fa5]` **应用场景**: - **文本处理**:在进行中文文本的搜索、过滤、替换等操作时非常有用。 - **数据验证**:例如在...
JavaScript中实现对IP地址、域名、手机号码进行正则表达式验证的知识点如下: 1. IP地址验证 IP地址分为IPv4和IPv6两种,IPv4地址通常由四个0-255之间的数字组成,并由点号分隔。一个有效的IPv4地址的正则表达式为...
在JavaScript中,正则表达式被广泛应用于数据验证、字符串搜索和替换等场景。"common-regex"项目是一个集合了大量常见正则表达式的资源库,旨在方便开发者快速调用和应用。 1. **正则表达式基础** - **模式匹配**...
《正则表达式 Cookbook 2009》是一本专注于正则表达式的实用指南,它为程序员和数据处理专家提供了一系列解决常见问题的配方。这本书深入浅出地讲解了如何利用正则表达式进行文本匹配、查找、替换和提取等操作。在IT...
这个正则表达式尽可能覆盖了大部分有效URL的形式,包括IPv4、IPv6、域名、路径、端口等。 5. **JavaScript验证函数** 使用上面的正则表达式,我们可以创建一个验证函数,如下所示: ```javascript function ...
本话题将深入探讨如何利用JSON和正则表达式进行IP检测。 首先,让我们了解JSON(JavaScript Object Notation)。JSON是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器...
本文将详细解析"IP地址输入正则验证ip插件.zip"的相关知识点,包括IP地址的原理、正则表达式验证IP地址的方法、jQuery插件的运用以及自动换行的实现。 首先,IP地址(Internet Protocol Address)是互联网协议地址...
可以使用正则表达式进行初步验证,检查各部分是否存在,格式是否正确。例如,确保协议部分有"HTTP://"或"HTTPS://",域名部分符合域名规则,端口是可接受的数字范围等。 2. **DNS解析**:验证URL时,需要将其解析为...
一个更全面的IPV6地址验证正则表达式可能更复杂,需考虑各种IPV6地址格式的细节,包括压缩的0、双冒号表示法等。 为了确保在JavaScript中正确处理IPV6地址,开发者需要熟悉IPV6地址的结构,理解位运算在计算网络...