Javascript URL 验证正则表达式

标签 javascript regex

我有以下 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/

相关文章:

javascript - 如何导出由 async/await 方法返回的对象

javascript - PHP基于正则表达式显示弹出消息

c# - 将字符串中的子字符串替换为找到的每个子字符串的新 GUID

c# - 如何摆脱正则表达式中的重复项

javascript - 只允许加星一次,并且不允许与任何其他星标混合

javascript - 如何简化此 switch 语句?

javascript - reducer 正在商店中突然添加商品

javascript - 如何使用 jQuery 获取 asp.net 列表框的大小

javascript - 如何在正则表达式中制作格式 ABC-1234

Javascript 循环不在每个容器中附加值