簡體   English   中英

我怎樣才能 select 出現在 url 之前的所有文本?

[英]How can I select all the text that appears before a url?

HTML:

<input type="text" name="field" id="field" value="Select this text http://www.domain.com" />

JavaScript/JQuery:

$(document).ready(function()
{
    var value = $('#field').val();

    //select text
});

我怎樣才能 select 出現在url之前的所有text 不應選擇 url 之后的所有內容(包括 url 本身)。

順便說一句,文本還可能包含數字和特殊字符。

解決方案:我最終使用了 Rocket 的解決方案split(/\shttps?:\/\//) (見下文)。

如果 url 始終是超文本協議,那么您可以執行以下操作:

$(document).ready(function() {
    var myText = $('#field').val().split(' http')[0];
});

這將捕獲 http 和 https 協議,據我所知,這是計算密集度最低的方法。

文本只是一個字符串。 您需要確定是什么讓 URL 的一部分獨一無二 - 從 http:// 開始(確保它不是 https:// ),包括 www., 或其他。 一旦您確定了與 url 而不是之前的其他字符匹配的內容,那么就很容易了。

使用 java 對象正則表達式。 這將允許您使用模式匹配和 select 基於 url 模式的文本。

這是關於 javascript RegExp object 的教程: http://www.w3schools.com/jsref/jsref_obj_regexp.asp

這是一個很好的 javascript RegExp 測試器: http://www.regular-expressions.info/javascriptexample.html

如果您對正則表達式有任何問題,請告訴我!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM