我需要验证网址。
var urlPattern = new RegExp("(http|ftp|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?");
如果网址有http
,https
或ftp
我可以验证。如果该网址没有http
,ftp
或https
,则表示我该如何验证?
答案 0 :(得分:0)
尝试以下方法:
var regex = new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?");
var without_regex = new RegExp("^([0-9A-Za-z-\\.@:%_\+~#=]+)+((\\.[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
答案 1 :(得分:0)
我希望这会有所帮助
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
答案 2 :(得分:0)
正则表达式:
/((:(HTTP | HTTPS | FTP)://)(:((:[^ \ W \ S] | | - |?????[:] {1})+)@ {1})((?:万维网。)(?:[^ \ 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]的*))/ G
<强> 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.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?");
var val = $(this).val();
if(urlPattern.test(val)) {
alert('success');
} else {
alert('fail')
}
})
答案 3 :(得分:0)
看看@Shubham Khatri的正则表达式,我建议(如果可能的话)使用wget
或curl
之类的外部工具来查询地址并检查结果。
答案 4 :(得分:0)
答案 5 :(得分:0)
/^(?!https?)(?!www\.?).*\..+$/g
此正则表达式适用于
google.com
mail.google.com
app.firebase.google.com
google.com/something
此正则表达式不适用于
www.google.com
http://google.com
http://www.google.com