首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于验证URL的javascript jquery regex

用于验证URL的javascript jquery regex
EN

Stack Overflow用户
提问于 2011-12-21 04:13:52
回答 1查看 2.5K关注 0票数 1

我使用下面的正则表达式来验证url,

代码语言:javascript
运行
复制
jQuery.validator.addMethod("url_validation", function (value, element) {
return this.optional(element) || /^(([http|https|HTTPS|HTTP]+:\/\/))?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/i.test(value);
}, "error");

这个正则表达式工作得很好。但是当我验证http://www.alfaromeo.com/com/#/home时,它告诉我url是无效的。当我启用#时,正则表达式无法验证某些验证。那么,有没有人可以建议修改这个正则表达式来验证#,它在一个url中。

我参考了regular expressions how to validate a URL来获得这个正则表达式。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-21 04:32:13

代码语言:javascript
运行
复制
^(([http|https|HTTPS|HTTP]+:\/\/))?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([#-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$

我变了

代码语言:javascript
运行
复制
(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)

代码语言:javascript
运行
复制
(\/([#-+_~.\d\w]|%[a-fA-f\d]{2,2})*)

尽管如此,不要期望它能在你可能抛出的每一个URL上工作……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8581343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档