我需要驗證一個url。驗證URL沒有任何http,https或ftp
var urlPattern = new RegExp("(http|ftp|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\[email protected]?^=%&/~+#-])?");
如果URL有http
,https
或ftp
我可以驗證。如果該網址沒有http
,ftp
或https
意味着我如何驗證?
我需要驗證一個url。驗證URL沒有任何http,https或ftp
var urlPattern = new RegExp("(http|ftp|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\[email protected]?^=%&/~+#-])?");
如果URL有http
,https
或ftp
我可以驗證。如果該網址沒有http
,ftp
或https
意味着我如何驗證?
嘗試以下操作:
var regex = new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\[email protected]:%_\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?");
var without_regex = new RegExp("^([0-9A-Za-z-\\[email protected]:%_\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?");
var str = "url";
if(regex.test(str) || without_regex.test(str)){
alert("Successful");
}else{
alert("No match");
}
它接受以下網址:
https://example.com
http://example.com
ftp://example.com
www.example.com
https://www.example.com
http://www.example.com
ftp://www.example.com
example.com
如何改變這個/ ^((http(s?)| ftp):\/\ /)?[A-z0-9 _ \ - \。] + ...檢查沒有http和https的URL。 – kalles
我希望這將有助於
var url = 'http://www.Jamboo.com';
var correctUrl= /^(ftp|http|https):\/\/[^ "]+$/.test(url);
// true
或
var r = /^(ftp|http|https):\/\/[^ "]+$/;
r.test('http://www.Jam boo.com');
// false
正則表達式:
/((:(HTTP | HTTPS | FTP)://)(:((:?????[^ \ W \ S] | | - | [ :{1})+)@ {1})((?: WWW)(?:?。[^ \ W \ S] | | - )+ [] [^ \ W \ s]的{2 ,4} |本地主機(?= /)| \ d {1,3} \ d {1,3} \ d {1,3} \ d {1,3})(::(\ d。? *?))?([/]?[^ \ s \?] [/] {1})(?:/?([^ \ s \ n \?[] {}#] )({。}){1} | [^ \ s \ n \?[] {}。#])?([。] {1} [^ \ s \?#] )?)?(?: \ {1}([^ \ S \ N#[]]))?([#] [^ \ S \ n]的*)?)分升/克
HTML
<input type= text id = 'url'>
JS
$('#url').on('blur', function() {
var val = $(this).val();
if(val.match(/\(?(?:(http|https|ftp):\/\/)?(?:((?:[^\W\s]|\.|-|[:]{1})+)@{1})?((?:www.)?(?:[^\W\s]|\.|-)+[\.][^\W\s]{2,4}|localhost(?=\/)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::(\d*))?([\/]?[^\s\?]*[\/]{1})*(?:\/?([^\s\n\?\[\]\{\}\#]*(?:(?=\.)){1}|[^\s\n\?\[\]\{\}\.\#]*)?([\.]{1}[^\s\?\#]*)?)?(?:\?{1}([^\s\n\#\[\]]*))?([\#][^\s\n]*)?\)?/g) != null)
alert('success');
})
或者使用:
$('#url').on('blur', function() {
var urlPattern = new RegExp("((http|ftp|https)://)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\[email protected]?^=%&/~+#-])?");
var val = $(this).val();
if(urlPattern.test(val)) {
alert('success');
} else {
alert('fail')
}
})
如何改變這個/ ^((http(s?)| ftp):\/\ /)?[A-z0-9 _ \ - \。] + ...檢查沒有http和https的URL。 – kalles
'var urlPattern = new RegExp(「((http | ftp | https)://)?[\ w-] +(\。[\ w-] +)+([\ w。,@?^ =% &:/〜+# - ] * [\ w @?^ =%& /〜+# - ])?「);''也適用 –
看着@Shubham Khatri的正則表達式,我會建議(如果可能的話)使用外部工具如wget
或curl
來查詢地址並檢查結果。
如果你很高興你當前的正則表達式是正確的,但你只想驗證_without_任何協議,你可以刪除協議部分:'(http | ftp | https)://'? –