2016-07-29 18 views
0

我有一個圖像url正則表達式正在使用ng-pattern指令來驗證表單上的圖像。圖像的URL正則表達式,以適應特殊的urll

目前我正在努力適應類似https://google.com.png的情況。任何幫助將非常感激。

正則表達式:

'^((?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)[email protected])?(?:(?:(?:[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

+0

可能重複[什麼是一個很好的正則表達式來匹配一個URL?](http://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a- url) – nicael

+0

您只需使用正則表達式來匹配URL,然後將其附加到此正則表達式,無論您需要什麼。 – nicael

回答

1

簡化正則表達式:

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

需要使用我標誌這使搜索不區分大小寫。

但是你應該驗證你的url列表,如果這允許多或少。

可以試一下here

如果你把正則表達式的JavaScript字符串,不要忘記,你需要反斜槓反斜槓。