javascript - 图像 URL javascript 正则表达式以适应特殊 url

标签 javascript angularjs regex

我有一个图像 URL 正则表达式,用于使用 ng-pattern 指令验证表单上的图像。

目前,我正在努力适应像 https://google.com.png 这样的情况。任何帮助将不胜感激。

正则表达式:

'^((?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?)\.(png|jpg|jpeg|gif|PNG|JPG|JPEG|GIF)$'

最好在这里查看:

https://regex101.com/r/dH1wT6/1

最佳答案

简化正则表达式:

^(?!mailto)(?:https?|ftp):\/(?:\/?(?:[.#@?=]?[a-z0-9\u00a1-\uffff]+)+)+[.]?(?:png|jpe?g|gif)$

需要使用 i 标志来使搜索不区分大小写。

但是您应该验证您的网址列表是否允许太多或太少。

可以测试一下here

如果您将正则表达式放入 JavaScript 字符串中,请不要忘记您需要反斜杠。

关于javascript - 图像 URL javascript 正则表达式以适应特殊 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38650983/

相关文章:

javascript - 如何使用对象和函数作为 Angular 过滤器的谓词

javascript - AngularJS 将项目推送到 $scope 数组的第一个或 0 索引

javascript - 在文本周围动态添加 anchor 标记,无需重写 HTML

javascript - 使用 jquery 预览 html 文档

javascript - JS 流 : Is inheritance in Flow broken?

javascript - 基本 JSON.parse 问题

angularjs - 使用 Restangulars extendModel 添加的函数未定义?

Python:使用正则表达式从 Pandas 系列中提取信息

regex - 如何在 sublime text 的 Title Case 中更改所有 title 属性的值

javascript - 为什么js代码要分开划分?