如何检查给定字符串是否为有效的URL地址?
我对正则表达式的了解是基本的,不允许我从我在网上看到的数百个正则表达式中进行选择.
这个怎么运作
我有一个输入字段来输入网站的URL,我想检查它,如果URL正常,我将给输入字段一个类("validated_ok")并删除一个类("cf_required"),如果它错了,另一个四处走走.
问题
如果它被写入,那么url应该是正确的,http://但实际上它也是正确的只有www(www.google.ch).我怎么改变正则表达式?
使用Javascript
// CHECK WEBSITE
$(".cf_required[name='website']").focusout(function() {
var myVariable = $(this).val();
if(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/|www\.)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test(myVariable)){
$(this).addClass("validated_ok").removeClass("cf_required")
} else {
$(this).removeClass("validated_ok").addClass("cf_required");
}
});
Run Code Online (Sandbox Code Playgroud) Google+似乎使用The-King-of-URL-Regexes来解析用户帖子中的吸盘.它不需要协议,也可以忽略标点符号.例如:如果我发布"我喜欢plus.google.com.",该网站会将其转换为"我喜欢plus.google.com".因此,如果有人知道可以使用和不使用协议解析URL的正则表达式并且善于忽略标点符号,请回答它.
我不认为这个问题是一个骗局,因为我在类似问题上看到的所有答案似乎都需要URL中的协议.
谢谢
我有以下url验证正则表达式:
/(ftp | https?):// [^"] + $ /
这是来自ref: 用于URL验证的正则表达式(在JavaScript中)
这很好,包括像http://localhost:8080,但它也验证了我不想要的下面的情况.上面的正则表达式不应该通过以下网址
1. http://www.example..com
2. http://.com
3. http://.
4. http://www.example.
Run Code Online (Sandbox Code Playgroud)
请正确帮助我作为正则表达式的菜鸟
第二个问题,虽然与问题没有关系,但正则表达式是,当我验证null和未定义的正则表达式/ ^ [az] + $/i我得到了真.这是默认行为还是我错过了这里的东西?
我有一个聊天视图,用户可以在其中发送网址.如果是网址,我想让用户按下链接并打开网页视图.
我正在使用使用RegexKitLite的IFTweetLabel.目前唯一可用的支持是url以http/https开头.我想支持没有http的链接,例如:www.nytimes.com,甚至没有"www",nytimes.com.(和其他一些扩展).
这是http/s前缀reg exp:
@"([hH][tT][tT][pP][sS]?:\\/\\/[^ ,'\">\\]\\)]*[^\\. ,'\">\\]\\)])
Run Code Online (Sandbox Code Playgroud)
有人能告诉我其他正则表达式我需要回答我的其他要求.
我尝试使用这个,但将其添加到目标c代码会产生很多问题.
谢谢
是否可以从字符串中找到#hashtag和"http://"链接并为其着色?我在Android中使用它.
public void setTitle(String title) {
this.title = title;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
regex ×5
url ×3
javascript ×2
android ×1
ios4 ×1
iphone ×1
jquery ×1
objective-c ×1
parsing ×1
regexkitlite ×1
string ×1
text-parsing ×1
validation ×1