我有以下 url 验证正则表达式:
/(ftp|https?)://[^ "]+$/
这是来自引用: Regular expression for URL validation (in JavaScript)
这适用于像 http://localhost:8080
这样的情况,但它也验证了下面我不想要的那些。上面的正则表达式不应该传递下面的 url
1. http://www.example..com
2. http://.com
3. http://.
4. http://www.example.
作为正则表达式的菜鸟,请帮忙
第二个问题,虽然与问题无关,但正则表达式是,当我针对正则表达式 /^[a-z]+$/i 验证 null 和 undefined 时,我得到了 true。这是默认行为还是我在这里遗漏了什么?
最佳答案
试试这个
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)
函数。
关于Javascript URL 验证正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18364404/