javascript - 使用正则表达式强制 URL 字段不包含 "http://www."

标签 javascript php regex validation

我需要验证输入字段的 URL 字段,该输入字段处理一个挑剔的 API,该 API 将接受特定格式的 URL 字符串 - 字符串开头没有附加 www 和 http,否则就会中断。 JavaScript 处理程序从validation.php 文件中获取数据。除了一个字段之外,我的一切都在工作。

<小时/>

所以,例如我想要

example.com/example

example.com

要通过验证,但我想要

http://example.com/example

http://www.example.com/example

以及任何变体,包括 http://或 www 的任何派生形式。不验证。

<小时/>

我下面的正则表达式目前允许任何类型的 URL,包括 http 和 www。我希望它只允许上述类型的 URL 字符串,但不知道如何处理。

    // API URL VALIDATION
    if ($formfield == "api_url") {
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $value)) {
            echo "Please enter your URL without the http://www part attached" 
        } else {
            echo "<span>Valid</span>";
        }

}

有什么想法吗?

最佳答案

您可以在 preg_match 中使用这个简单的基于负向前瞻的正则表达式:

~^(?!https?://)(?!www\.).+$~i

RegEx Demo

关于javascript - 使用正则表达式强制 URL 字段不包含 "http://www.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29350708/

相关文章:

php - JPEG 文件提前结束

php - 用 <h2> 标签替换 <p class ="someClass"> 的正则表达式?

regex - 如何使用 grep 命令列出基于点的名称

javascript - 清理 javascript/jquery 中的字符串

javascript - 帮助我了解变量设置

php - 通过 PHP Curl 调用 SoapAction

php - 在派生类中模拟数据库

python - 用不同的词替换每个匹配项

javascript - 如何使整行可点击?

javascript - 页面上的 Owl Carousel 和 Bootstrap 选项卡