Hướng dẫn javascript check url starts with http or https - url kiểm tra javascript bắt đầu bằng http hoặc https

Tôi đã tìm kiếm tất cả để tìm câu trả lời cho điều này và tất cả các câu trả lời tôi đã tìm thấy chưa có trong JavaScript.

Tôi cần một cách, trong JavaScript, để kiểm tra xem một chuỗi bắt đầu bằng HTTP, HTTPS hoặc FTP. Nếu nó không bắt đầu với một trong những người tôi cần phải chuẩn bị cho chuỗi với //. Indexof sẽ không làm việc cho tôi Tôi không nghĩ vì tôi cần HTTP, HTTPS hoặc FTP. Ngoài ra, tôi không muốn một cái gì đó như

export const getValidUrl = [url = ""] => {
    let newUrl = window.decodeURIComponent[url];
    newUrl = newUrl.trim[].replace[/\s/g, ""];

    if[/^[:\/\/]/.test[newUrl]]{
        return `http${newUrl}`;
    }
    if[!/^[f|ht]tps?:\/\//i.test[newUrl]]{
        return `//${newUrl}`;
    }

    return newUrl;
};
0 kích hoạt đó là hợp lệ vì nó không bắt đầu với HTTP trong khi Indexof sẽ kích hoạt điều đó là đúng [nếu tôi không hoàn toàn nhầm].

Php regex gần nhất mà tôi đã tìm thấy là:

function addhttp[$url] {
   if [!preg_match["~^[?:f|ht]tps?://~i", $url]] {
      $url = "//" . $url;
   }
   return $url;
}

Nguồn: Cách thêm HTTP nếu nó không tồn tại trong URL

Tôi chỉ không biết làm thế nào để chuyển đổi nó thành JavaScript. Mọi sự trợ giúp sẽ rất được trân trọng.

hỏi ngày 2 tháng 7 năm 2012 lúc 20:45Jul 2, 2012 at 20:45

2

export const getValidUrl = [url = ""] => {
    let newUrl = window.decodeURIComponent[url];
    newUrl = newUrl.trim[].replace[/\s/g, ""];

    if[/^[:\/\/]/.test[newUrl]]{
        return `http${newUrl}`;
    }
    if[!/^[f|ht]tps?:\/\//i.test[newUrl]]{
        return `//${newUrl}`;
    }

    return newUrl;
};

Tests:

expect[getValidUrl['//www.test.com']].toBe['//www.test.com'];
expect[getValidUrl['//www.test.com']].toBe['//www.test.com'];
expect[getValidUrl['    http   :    /  /  www.test.com']].toBe['//www.test.com'];
expect[getValidUrl['ftp://www.test.com']].toBe['ftp://www.test.com'];
expect[getValidUrl['www.test.com']].toBe['//www.test.com'];
expect[getValidUrl['://www.test.com']].toBe['//www.test.com'];
expect[getValidUrl['http%3A%2F%2Fwww.test.com']].toBe['//www.test.com'];
expect[getValidUrl['www    .  test.com']].toBe['//www.test.com'];

GROVER.

3.7901 Huy hiệu vàng17 Huy hiệu bạc61 Huy hiệu đồng1 gold badge17 silver badges61 bronze badges

Đã trả lời ngày 2 tháng 7 năm 2012 lúc 20:51Jul 2, 2012 at 20:51

user123444555621user123444555621user123444555621

Phù bằng vàng 144K2727 gold badges110 silver badges125 bronze badges

2

Điều này sẽ hoạt động:

var pattern = /^[[http|https|ftp]:\/\/]/;

if[!pattern.test[url]] {
    url = "//" + url;
}

JSfiddle

Đã trả lời ngày 2 tháng 7 năm 2012 lúc 20:50Jul 2, 2012 at 20:50

Tskuzzytskuzzytskuzzy

35.3K14 Huy hiệu vàng70 Huy hiệu bạc137 Huy hiệu đồng14 gold badges70 silver badges137 bronze badges

0

var url = "//something.com"
if[ url.indexOf["http"] == 0 ] {
    alert["yeah!"];
} else {
    alert["No no no!"];
}

Đã trả lời ngày 2 tháng 7 năm 2012 lúc 20:50Jul 2, 2012 at 20:50

Tskuzzytskuzzynicowernli

35.3K14 Huy hiệu vàng70 Huy hiệu bạc137 Huy hiệu đồng23 silver badges34 bronze badges

3

nicowernlinicowernli

3.14323 Huy hiệu bạc34 Huy hiệu đồng

Cách khai báo không phải là REGEX:May 12, 2020 at 8:46

const hasValidUrlProtocol = [url = ''] => 
    ['//', '//', 'ftp://'].some[protocol => url.startsWith[protocol]]
Shota

Đã trả lời ngày 12 tháng 5 năm 2020 lúc 8:468 gold badges35 silver badges64 bronze badges

1

Điều này sẽ hoạt động:

var re = /^[http|https|ftp]/

JSfiddleJul 2, 2012 at 20:49

Đã trả lời ngày 2 tháng 7 năm 2012 lúc 20:50elclanrs

Tskuzzytskuzzy21 gold badges132 silver badges169 bronze badges

35.3K14 Huy hiệu vàng70 Huy hiệu bạc137 Huy hiệu đồng

var pattern = new RegExp['^[https?|ftp]://'];

if[!pattern.test[url]] {
    url = "//" + url;
}

var pattern = new RegExp['^[https?|ftp]://'];


console.log[pattern.test['//foo']];
console.log[pattern.test['//foo']];
console.log[pattern.test['ftp://foo']];
console.log[pattern.test['bar']];

nicowernlinicowernliJul 17, 2019 at 14:06

3.14323 Huy hiệu bạc34 Huy hiệu đồngSteven Spungin

Cách khai báo không phải là REGEX:5 gold badges77 silver badges68 bronze badges

Làm cách nào để kiểm tra xem một chuỗi bắt đầu với HTTPS?

PHP-Kiểm tra xem Chuỗi có bắt đầu bằng HTTP để kiểm tra xem Chuỗi có bắt đầu bằng cách HTTP hay không, hãy sử dụng Php tích hợp Chức năng tích hợp [].strpos [] lấy chuỗi và chuỗi con làm đối số và trả về 0, nếu chuỗi bắt đầu bằng cách http, thì không.Loại kiểm tra này hữu ích khi bạn muốn xác minh xem chuỗi đã cho có phải là URL hay không.use PHP built-in function strpos[]. strpos[] takes the string and substring as arguments and returns 0, if the string starts with “http”, else not. This kind of check is useful when you want to verify if given string is an URL or not.

Làm thế nào để bạn kiểm tra xem một giá trị có phải là JavaScript URL không?

Phương thức CheckValItion [] được sử dụng để kiểm tra xem một chuỗi trong thuộc tính giá trị của phần tử là URL.Phương thức kiểm tra [] trả về đúng nếu giá trị là URL thích hợp và sai nếu đầu vào không phải là URL thích hợp. is used to check if a string in element's value attribute is URL . The checkvalidity[] method returns true if the value is a proper URL and false if the input is not a proper URL.

Là kiểm tra chuỗi trong javascript?

Sử dụng toán tử loại để kiểm tra xem một biến có phải là một chuỗi không, ví dụ:if [loại biến === 'chuỗi'].Nếu toán tử loại trả về "chuỗi", thì biến là một chuỗi., e.g. if [typeof variable === 'string'] . If the typeof operator returns "string" , then the variable is a string.

Bài Viết Liên Quan

Chủ Đề