我有一个图像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标志以使搜索不区分大小写。

但是您应该用您的url列表进行验证,如果允许的话很多。

可以测试here

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

09-16 14:50