问题标签 [url-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2149 浏览

c# - 用于 URL 检查的正则表达式

在我的“ServiceEditModel”类中,我有一个带有 typeof Uri 的属性 Url。为了验证,我搜索了一个正则表达式来检查在我的“编辑”页面上填写的 URL 是否有效。
正则表达式应该检查

  1. 是否有 http:// 或 https://
  2. 正文只包含字母字符和数字
  3. 结尾就像 .com、.net、.ch
  4. 应该有可能,结尾后面还有另一个参数,例如https://stackoverflow.com/questions

我的正则表达式出现的代码如下所示:

我已经在寻找 Regex 但找不到合适的,因为这实际上是我第一次使用 Regex。

感谢帮助!

编辑

我更新了我的正则表达式,以便它还允许带有“-”字符的 url,例如http://www.comsoft-direct.ch/

更新的正则表达式:^(http|https):\/\/([\w\d + (\-)+?]+\.)+[\w]+(\/.*)?$

0 投票
1 回答
130 浏览

objective-c - 特定 URL 验证

我看到了很多重复的这个问题,但最后没有找到适合我的。我需要在我的应用程序中验证我的 url,就像在 iOS 的 Safari 应用程序中一样(例如 7)。

例如:我需要验证这些字符串http://apple.comhttp://www.apple.com 还有那些未验证的: http://apple.apple; http://apple;http://www.........something

我正在尝试这样做:

最后,它在 99% 的情况下都有效,但有时会验证无效字符串。我不知道为什么。例如:

http://test- 有效的 ; http://thkl- 无效(没错)

这就是我要解决的问题。

0 投票
5 回答
49917 浏览

python - 在 Python 中验证 URL

我一直在试图弄清楚验证 URL 的最佳方法是什么(特别是在 Python 中),但还没有真正找到答案。似乎没有一种已知的验证 URL 的方法,这取决于您认为可能需要验证的 URL。同样,我发现很难找到一个易于阅读的 URL 结构标准。我确实找到了 RFC 3986 和 3987,但它们包含的不仅仅是它的结构。

我错过了什么,还是没有一种标准的方法来验证 URL?

0 投票
1 回答
2517 浏览

ruby-on-rails-4 - How to check if string is valid URL to image?

I have the following class:

holding URL to image. I have checked some questions and add URL validation, but I need to improve it validating URLs pointing to images only.If validation fails, I want to use default image showing there is some issue.

Note, the current validation of the URL is not working with relative paths. For example, the following url is valid as image source /images/image1.png but the current validation is not recognizing it.

Could anyone tell if this is possible using URI?

0 投票
1 回答
109 浏览

javascript - 是否有使用 jQuery 验证没有插件的 URL 的最终解决方案?

期望的行为

我希望能够验证表单中的单个字段以检查它是否是有效的 URL。

我的意思是以下内容将valid URL验证以下格式以及其他 TLD 等:

表单验证的其余部分不依赖于插件,所以如果可能的话,我宁愿不使用插件。

我试过的

独立的正则表达式

我已经测试了几个关于使用 jQuery 验证 URL 的公认答案和建议。

由于某种原因,它们似乎不起作用,例如以下被称为插件的正则表达式:

标记为有效: http://

标记为无效: www.site.com

来自插件的正则表达式

我寻找流行插件中使用的正则表达式,例如:

jQuery 验证插件 - https://github.com/jzaefferer/jquery-validation

中的相关正则表达式似乎是:

为了测试功能,我从 GitHub 下载了 master 并运行demo/index.html并得到了 Firebug 控制台错误:

我复制并粘贴了上面的正则表达式以在第一个代码示例中使用,以下标记为有效:

和:

h5Validate - https://github.com/dilvie/h5Validate

中的相关正则表达式是:

再次在第一个代码示例的上下文中使用此代码段,将以下内容标记为有效:

不要这样做或以不同的方式做

我已经看到帖子指出尝试通过正则表达式验证 URL 是徒劳的:

https://stackoverflow.com/a/1305082/1063287

并且它可以在服务器端完成(例如使用 Python):

https://stackoverflow.com/a/161749/1063287

问题

所以我只是想知道,在发布时,是否有使用 jQuery 验证没有插件的 URL 的最终解决方案?

0 投票
1 回答
58 浏览

php - 隐藏给定字符串中包含的任何 URL,除了一个

我有一个带有小型聊天系统的预订网站,允许潜在客人向房东发送消息,例如询问房间是否可用。

我希望隐藏用户键入的任何 URL(= 替换为 ****),除非它是我的站点域的 URL。我目前有一个成功匹配任何 URL 的正则表达式:

我需要对其进行编辑,以便匹配除包含mydomain.com的所有 URL

这些字符串的预期结果:

“嗨,请查看我的网站 www.othersite.com/room/123”

preg_replace 之后:

“嗨,请查看我的网站 ****”


“嗨,这个房间有空吗?www.mydomain.com/room/123”

preg_replace 之后:

“嗨,这个房间有空吗?www.mydomain.com/room/123”

0 投票
1 回答
893 浏览

java - 如果死 URL 重定向到服装错误页面,请检查有效链接

我需要测试(Selenium)给定页面中的链接是否有效。我在这里找到了一篇关于它的好帖子

http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/

但问题是,如果错误页面重定向到自定义错误页面怎么办?然后我会得到200302而不是404。我应该如何检查重定向其 404 的网页的 URL 的有效性。

0 投票
1 回答
1063 浏览

c# - 验证字符串是相对 url 不起作用

我正在尝试验证表示 url 的字符串是否是相对的,但它似乎Uri.TryCreate()会接受任何没有协议的 url 作为相对的(即:www.domain.com/something/else.aspx)。但我只需要 /something/else.aspx/

例如,这个测试字符串在尝试进入uri.PathAndQuery第 9 行时总是会抛出异常。即使TryCreate()返回 true。

示例输入/输出:

输入:/something/else.aspx ==> 输出:/something/else.aspx

输入:www.domain.com/something/else.aspx ==> 输出:/something/else.aspx

输入: http: //www.domain.com/something/else.aspx ==> 输出:string.Empty

给定 url 的相对路径,我如何验证它确实是相对的,并且在用户也通过域的情况下获取路径和查询?

0 投票
1 回答
5165 浏览

java - UrlValidator 不适用于本地主机

我面临一个问题,我在我的代码中使用 UrlValidator。

.IllegalArgumentException n 如果我传递 url 即

它工作正常。如何使此代码适用于 localhost:8080

0 投票
8 回答
58049 浏览

java - 如何快速检查 URL 服务器是否可用

我在表单中有一个 URL

并想检查它是否可用。

如果我尝试使用浏览器打开这些链接,这些链接会将我重定向到错误的请求页面,但是通过代码我可以获得所需的数据。

在 HTTP 请求过程中使用 try-catch 块非常慢,所以我想知道如何 ping 一个类似的地址以检查其服务器是否处于活动状态。


我努力了

但总是返回false

我也试过

在进程结束时返回正确的值,如果服务器不可用,位太慢。

编辑

我已经了解缓慢的原因是什么

a)如果服务器返回一些数据但在完成请求之前中断了请求,超时将被忽略并卡住,直到返回Exception导致执行到达 catch 块,这是此方法缓慢的原因,但我仍然没有t 找到了避免这种情况的有效解决方案。

b)如果我启动 android 设备并在没有连接的情况下打开应用程序,则正确返回 false 值,如果应用程序在 Internet 连接处于活动状态的情况下打开并且设备失去其 Internet 连接,则与案例 A 发生相同的事情(如果我尝试终止并重新启动应用程序...我不知道为什么,我想有些东西仍然被缓存)

所有这些似乎都与Java URLConnection 在读取时没有提供故障安全超时的事实有关。查看此链接上的示例,我看到它使用线程以某种方式中断连接,但是如果我new Thread(new InterruptThread(Thread.currentThread(), con)).start();像示例中那样简单地添加行,则没有任何变化。