`
wakin2003
  • 浏览: 67982 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

正则表达式检验url

阅读更多

最近在编写一个java中间件,其间要用到协议绑定。以便得到的数据能传给有效的URL地址。这就涉及到验证客户端所给的url是否有效的问题。从网上查了查,发现没有太合适的。就结合自己的理解写了些正则表达式。下为例子代码,希望大家能多指出其中的问题。

 

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class CheckURL {
	private String uri;

	public CheckURL(String uri) {
		super();
		this.uri = uri;
	}
	
	/**
	 * 检验该uri是否合法
	 * @return
	 */
	public boolean isValid(){
		boolean isValid = false;
		//正则表达式检验ip地址
		String ipRegex = "((25[0-5]|2[0-4]\\d|1\\d\\d|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d\\d|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d\\d|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d\\d|\\d{1,2}))";
		//正则表达式检验域名
		String domain = "([0-9a-z][0-9a-z-]*\\.)*[a-z]{2,6}|localhost";
		//检验端口
		String port = "(:[0-9]{1,4})";
		//检验剩余的URL是否合法其中[\u4e00-\u9fa5]表示中文
		String remain = "(/[\\w!~*'()\\.;?:@&=+$,%#-[\u4e00-\u9fa5]]*)+/?$";
		//该表达式用于检验http格式的URL是否合法
		String httpRegex = "^http://"+"("+ipRegex+"|"+domain+")"+port+"?"+remain;
		Pattern p = Pattern.compile(httpRegex,Pattern.CASE_INSENSITIVE);
		Matcher m = p.matcher(this.uri);
		isValid = m.find();
		return isValid;
	}
}

 

1
0
分享到:
评论

相关推荐

    正则表达式大全.docx

    8. Unicode汉字范围:`/^[u4e00-u9fa5],{0,}$/` 和匹配中文字符的正则表达式:`[\u4e00-\u9fa5]` - 这两个正则表达式用于检测字符串中是否包含中文字符。 9. 匹配双字节字符:`[^\x00-\xff]` - 用于识别多字节字符...

    报表工具FineReport正则表达式定义规则

    ### 报表工具FineReport正则表达式定义规则 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,在多种编程语言中都有应用,它可以帮助我们完成字符串搜索、替换等一系列复杂的文本处理任务。在报表...

    正则表达式(基本包含所有验证的正则)

    以下是一个用于验证URL格式的正则表达式: ```javascript var urlPatrn = /^[a-zA-z]+:\/\/[^s]*$/; ``` 该表达式用于验证以字母开头的协议名后跟冒号双斜线,再跟上任意非空格字符组成的URL。 ##### 3. 姓名验证 ...

    正则表达式客户端工具

    1. 常用正则表达式库:工具内置了一套常用正则表达式模式,覆盖了常见的文本匹配需求,如邮箱地址验证、电话号码检查、URL检测等。这使得用户无需从头开始构建复杂的正则表达式,提高了工作效率。 2. 实时编辑与...

    JS正则表达式大全【6】

    这两个正则表达式结合,可以有效地检测输入的URL格式是否正确。 通过这些实例,我们可以看出正则表达式在JavaScript中的强大之处。它们不仅能够提高代码的简洁性,还能提供高效的字符串处理和数据验证功能。正则...

    收集的一些js正则表达式

    这篇博客文章 "收集的一些js正则表达式" 提供了一些实用的JavaScript正则表达式示例,这将有助于开发者在实际项目中进行文本匹配、搜索、替换等操作。 首先,了解正则表达式的基础知识至关重要。正则表达式由一系列...

    正则表达式测试小工具

    例如,你可以通过它来检验以下常见正则表达式模式: - 邮箱地址验证:`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$` - 手机号码验证:`^1[3-9]\d{9}$` - URL验证:`^(http|https)://[a-zA-Z0-9\\-\\.]+\\.[a...

    易语言源码易语言“正则表达式”教程.rar

    这个教程可能会包含一系列的实例,让你逐步掌握正则表达式的运用技巧,比如验证邮箱地址格式、提取URL、处理日期时间等常见任务。 总之,易语言的正则表达式功能使得处理文本变得更加灵活和高效。通过深入学习和...

    vs 2005中使用正则表达式

    - `urlPattern`定义了用于匹配URL的正则表达式,其中包含了对协议和端口的捕获。 - `RegexOptions.Compiled`标志提高了正则表达式的性能,尤其是在多次重复使用同一正则表达式的情况下。 - `urlMatch.Groups`用于...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    很全的正则表达式

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。它通过一种简洁而强大的语法来定义一系列字符或字符组合,可以用来检测一个字符串是否...

    从正则表达式到有穷自动机实例.rar

    3. `安全中国anqn.com.txt` - 这可能是一个文本文件,包含了一些关于网络安全的正则表达式,如邮箱地址验证、URL检测等,与anqn.com这个网站的安全策略有关。 4. `查看帮助.txt` - 提供了如何理解和使用正则表达式到...

    文本框输入限制(正则表达式)

    使用正则表达式`[^\w\.\/]`来排除字母、数字、下划线以及点和斜杠之外的所有字符,保持输入框内容为英文字符或特定符号组合,适合邮箱或URL输入框。 ### 6. 自定义字符限制 ```html (/[^\d|chun]/g,'')"> ``` 此...

    UE教程,正则表达式

    ### UE教程:深入理解正则表达式 在IT领域,正则表达式(Regular Expression,简称regex或regexp)是一种强大的文本处理工具,被广泛应用于搜索、替换和解析文本字符串。UE教程中的“正则表达式”部分,旨在帮助...

    正则表达式从入门到精通.pdf

    1. **数据有效性验证**:可以使用正则表达式来检测字符串是否符合某种预设的模式,例如检查输入的字符串是否为有效的电子邮件地址或电话号码格式。 2. **文本替换**:在大量文档中查找并替换特定文本。比如在网站...

    PHP用正则表达式过滤超链接

    正则表达式是一种用于匹配字符串中字符组合的强大工具。在PHP中,正则表达式的应用非常广泛,特别是在处理HTML或XML等结构化文档时。下面是一些常用的正则表达式语法: - `.`:匹配任意单个字符(除了换行符)。 - ...

    JAVA及VB的一些正则表达式使用例子

    这段代码展示了如何在JAVA中编译和使用正则表达式来检测字符串"Hello, World!"中是否存在子串"World"。 在VB.NET(Visual Basic .NET)中,正则表达式操作主要通过System.Text.RegularExpressions命名空间的Regex类...

Global site tag (gtag.js) - Google Analytics