我有以下url验证正则表达式:
/(ftp | https?):// [^“] + $ /
这是来自ref:Regular expression for URL validation (in JavaScript)
这很好,包括像http://localhost:8080
的情况,但它也验证了我不想要的下面的那些。上面的正则表达式不应该通过以下网址
1. http://www.example..com
2. http://.com
3. http://.
4. http://www.example.
请正确帮助我作为正则表达式的菜鸟
第二个问题,虽然与问题无关,但正则表达式是,当我验证null和undefined对抗正则表达式/ ^ [a-z] + $ / i时我得到了真。这是默认行为还是我错过了这里的东西?
试试这个
function is_valid_url(url)
{
return url.match(/^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[a-z]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/);
}
在任何想要网站验证的地方调用is_valid_url(YOUR_WEBSITE_URL)
函数。
试试这个 ..
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/jquery.validate.min.js"></script>
<script src="http://jqueryvalidation.org/files/dist/additional-methods.min.js"></script>
<script>
// just for the demos, avoids form submit
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
$( "#myform" ).validate({
rules: {
field: {
required: true,
url: true
}
}
});
</script>
我为javascript构建了this正则表达式IP和DNS验证。
/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?((([a-z0-9])*[:]){1}|(([a-z0-9])*[.]){1}|(([0-9]){1,3}([.]|[:])){3}(([0-9]){1,3}[:]){1})([a-z]{2,5}|[0-9]{1,5})([.]([a-z0-9]){1,3})?(\/.*)?$/