2010-11-08 39 views
116

如何在客戶端使用jquery子字符串「nameGorge」並刪除「名稱」,因此它只輸出「峽谷」?如何在jQuery中子字符串

var name = "nameGorge"; //output Gorge 
+15

jQuery是用JavaScript編寫的庫。它在JavaScript之上使用。你所要求的可以在JavaScript中完成,而不需要使用jQuery庫。 – Jeff 2010-11-08 18:35:11

+1

jQuery IS JavaScript(儘管JavaScript庫確切,但JavaScript)。前面已經說過,我不認爲使用jQuery獲取子字符串比直接使用JavaScript更容易。 – VoidKing 2013-06-18 19:46:45

回答

236

不需要jQuery!只需使用子方法:

var gorge = name.substring(4); 

或者,如果你要刪除的文字也不是一成不變的:

var name = 'nameGorge'; 
var toRemove = 'name'; 
var gorge = name.replace(toRemove,''); 
+5

對不起,沒想到在我去之後睡覺。我已經在這裏清理了一些東西。同時,有人需要閱讀[this](http://meta.stackexchange.com/questions/19478/the-many-memes-of-meta/19492#19492) – BoltClock 2013-01-24 07:21:40

+0

Hey BoltClock:你好嗎?我試圖在這裏證明一個觀點,非常感謝..所以這意味着如果我正在嘗試爲客戶修改代碼,並且我來這裏尋找答案,並且該操作的標記答案對他而言是令人滿意的。 。那麼我不能簡單地發表相同的問題,也不能提供我的問題的例子..非常有趣..所以我的問題是這些傢伙如此確信,如果我運行jQuery函數,並在裏面我使用.split我是引用本地JS方式或某種隧道或代理來通過jQuery觸發。另外如果你閱讀這個問題。 – 2013-01-25 22:49:03

+0

我的觀點是,對於我在jQuery命名空間內工作,我真的不在乎,如果是從JS直接調用string.split,而是從社區我已經理解,如果我張貼確切的問題,它會被標記爲變窄,因爲這個響應比我在某處有一個jQuery.split文檔引用的事實更能被接受,至少告訴我應該是因爲它在那裏而不會給我的代碼和所有的jQuery插件,你可以看到已刪除的圖片...再次感謝 – 2013-01-25 22:51:45

4

你不需要jQuery來做到這一點。

var placeHolder="name"; 
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length); 
+0

我需要在客戶端做,我已經有jQuery。那你在暗示什麼?對不起,這個簡單的問題,但我相當js和jQuery的初學者。 – Gorge 2010-11-08 18:30:07

+0

該聲明將返回「nameGorge」,因爲indexOf(「name」)將返回0. – 2010-11-08 18:30:13

+0

你是對的我編輯了腳本,現在它應該工作 – 2010-11-08 18:33:17

9

這只是普通的JavaScript:看substringsubstr

+1

確實['slice()'](http://docs.sun.com/source/816-6408-10/string.htm#1194366)。奇怪的JS應該有很多方式來表達同樣的東西,所有這些都有微妙的不同。 'slice()'是我首選的方法,因爲它與數組上的'slice()'一致,並允許索引 - 從結尾的負開始和結束索引。 – bobince 2010-11-08 19:08:55

+0

@bobince:真的,我永遠不會記得'substring'和'substr'中的哪一個需要一個長度參數,哪個需要一個結束索引 - 我總是需要查找文檔以找出結果。 – casablanca 2010-11-08 20:05:54

52

使用.split()。 (第二版在Array採用.slice().join()

var result = name.split('name')[1]; 
var result = name.split('name').slice(1).join(''); // May be a little safer 

使用.replace()

var result = name.replace('name',''); 

在字符串上使用.slice()

var result = name.slice(4); 
+0

字符串操作選項的真棒總結!謝謝。 – Damon 2011-08-22 15:47:27

+0

是的,我喜歡他的方法在這裏。 +1 – 2013-01-24 00:53:45

+0

jquery不支持替換。這是香草js – Jude 2014-11-16 14:07:40

0

當然可以,但它依賴於JavaScript的固有功能,而不是jQuery庫。

http://www.w3schools.com/jsref/jsref_substr.asp substr函數將允許您提取字符串的某些部分。

現在,如果您正在查找特定的字符串或字符以查找要​​提取的字符串的哪部分,則還可以使用indexOf函數。 http://www.w3schools.com/jsref/jsref_IndexOf.asp

雖然這個問題有點含糊,即使只是link text'名稱'將達到預期的結果。準確獲取您的子字符串的標準是什麼?

+1

爲什麼你在JavaScript的問題中鏈接到PHP的'strpos'函數? – casablanca 2010-11-08 18:53:30

+0

你說得對,今天我的PHP太多了。我編輯了適當的JS等價物。感謝您的支持。 – aaronofleonard 2010-11-08 19:14:12

2
var name = "nameGorge"; 
name.match(/[A-Z].*/)[0] 
-1

以下情況如何?

<script charset='utf-8' type='text/javascript'> 
    jQuery(function($) { var a=$; a.noConflict(); 
    //assumming that you are using an input text 
    // element with the text "nameGorge" 
    var itext_target = a("input[type='text']:contains('nameGorge')"); 
    //gives the second part of the split which is 'Gorge' 
    itext_target.html().split("nameGorge")[1]; 
    ... 
    }); 
</script> 
相關問題