`
孙玉_1987
  • 浏览: 53263 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

验证url合法性的正则表达式

 
阅读更多
今天写代码的时候,需要一个这样的验证,结果网上搜了一通,绝大多数都不靠谱。
终于搞了一个下面的,不过对于没有http://这种协议头的依然认为正确的url,我自己的需求是不认为正确,所以小改了一下下,JAVA代码如下:
public static boolean checkUrl(String url){
return url.matches("^((https|http|ftp|rtsp|mms)?://)"
     + "+(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?"
     + "(([0-9]{1,3}\\.){3}[0-9]{1,3}"
     + "|"
     + "([0-9a-z_!~*'()-]+\\.)*"
     + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\\."
     + "[a-z]{2,6})"
     + "(:[0-9]{1,4})?"
     + "((/?)|"
     + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$");
}
分享到:
评论
4 楼 jklag133 2017-07-26  
"http//www.ftchinese.com/story/001051431"  http后面没有冒号当然有问题
3 楼 mrwjx 2014-05-29  
"http//www.ftchinese.com/story/001051431" 这个URL验证不通过,但肯定是合法的
2 楼 sh747665463 2012-10-16  
你这个校验不了有端口的url,我网上找了一个也不错
 String regEx = "^(http|https|ftp)\\://([a-zA-Z0-9\\.\\-]+(\\:[a-zA-" 
            + "Z0-9\\.&%\\$\\-]+)*@)?((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{" 
            + "2}|[1-9]{1}[0-9]{1}|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}" 
            + "[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|" 
            + "[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-" 
            + "4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0" 
            + "-9\\-]+\\.)*[a-zA-Z0-9\\-]+\\.[a-zA-Z]{2,4})(\\:[0-9]+)?(/" 
            + "[^/][a-zA-Z0-9\\.\\,\\?\\'\\\\/\\+&%\\$\\=~_\\-@]*)*$"; 
,经检验可用
1 楼 marc0658 2012-06-18  
总算找到一个不坑爹的。

相关推荐

    正则表达式经典实例

    7.1 URL合法性验证 7.2 在全文中查找URL 7.3 在全文中查找加引号的URL 7.4 在全文中寻找加括号的URL 7.5 把URL转变为链接 7.6 URN合法性验证 7.7 通用URL的合法性验证 7.8 从URL中提取通信协议方案 7.9 从...

    正则表达式经典实例.pdf

    7.1 URL合法性验证 7.2 在全文中查找URL 7.3 在全文中查找加引号的URL 7.4 在全文中寻找加括号的URL 7.5 把URL转变为链接 7.6 URN合法性验证 7.7 通用URL的合法性验证 7.8 从URL中提取通信协议方案 7.9 从URL中抽取...

    正则表达式

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...

    [新手成长篇]python | 正则表达式

    检查字符串的合法性 验证用户名 (a-z,0-9,不能全是数字,不能全是字母) 验证邮箱格式 (xxx@qq.com) 验证电话号码 (11位数字) 验证身份证 (18位 ) 验证QQ号码格式(5-12纯数字,第一位不能为0); 提取字符串中...

    JS输入框邮箱地址验证代码

    匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:...

    Python全栈(七)Flask框架之11.WTForms及其应用和Cookie的简单使用

    表单验证的基本使用2.Flask-WTF常用的验证器EmailNumber必填正则表达式URL扩展-验证码的验证二、WTF渲染模板三、WTF文件上传1.文件上传的基本使用2.文件上传的表单验证3.访问上传资源四、Cookie的使用1.Cookie的基本...

    php获取url参数方法总结

    本文实例讲述了php获取url参数方法。分享给大家供大家参考。具体如下: 在php中获取url中参数的方法有很多种,其中最简单的就直接使用parse_url函数了,他可以很方便...本函数不是用来验证给定 URL 的合法性的,只是

    Python学习笔记–Flask补充(一)

    目录WTForms验证Flask-WTF安装方式表单验证验证邮箱格式限制数字为整数以及验证范围内的数字必填验证自定义正则表达式URL验证自定义验证方法文件上传文件验证通过URL访问文件常用验证器 WTForms验证 Flask-WTF Flask...

    从零开始学JavaScript 源代码

    1.2.1 表单数据合法性验证 1.2.2 页面特效 1.2.3 交互式菜单 1.2.4 动态页面 1.2.5 数值计算 1.3 JavaScript编程起步 1.3.1 “Hello World!”程序 1.3.2 选择JavaScript脚本编辑器 1.4 如何引入JavaScript脚本...

    JS常用校验

    * matchPattern(value,mask) //自定义规则,mask为正确的正则表达式,返回通过自定义验证的字符串 * isEnglish(name) //判断是否为英文,正确返回ture,否则返回false * isChinese(name) //判断是否为中文,正确返回 ...

    Winson.Framework 1.0发布!

    一般用于验证用户输入日期的合法性 8、检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。 9、检查一个字符串是否是纯字母和数字构成的,一般用于查询字符串参数的有效性验证。 10、...

    asp.net知识库

    ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算表达式类的原理及其实现 #实现的18位身份证...

    JAVA 范例大全 光盘 资源

    实例42 正则表达式验证字符串 95 第7章 Java常用类 98 实例43 数字的舍入 98 实例44 转换数字的进制 101 实例45 随机数 103 实例46 Java Applet绘制心形曲线 106 实例47 简单的计算器 107 实例48 日历和日期 ...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意...

    JAVA项目开发全程实录(含电子书和所有源代码)

    4.5.4 编写利用正则表达式验证数据 合法性的方法 156 4.6 主窗体设计 156 4.7 用户登录窗口设计 158 4.8 开台签单工作区设计 164 4.8.1 开台签单工作区功能概述 164 4.8.2 开台签单工作区技术分析 165 4.8.3 开台签...

    PHP程序开发范例宝典III

    实例119 验证合法的数据表名称 178 实例120 验证货币类型 179 第5章 构建PHP动态网页 181 5.1 页面间的数据传递 182 实例121 通过POST方法提交 182 实例122 通过GET方法提交 183 实例123 通过SESSION...

Global site tag (gtag.js) - Google Analytics