2012-02-22 44 views
1

我嘗試,所以如果用戶輸入這個替換上模糊的文字文本如何從文本的特定文本:同時保持剩餘的文本完整

Hello/test 

我希望它改爲:

test 

即時通訊使用的一個基本的文本框:

<asp:TextBox runat="server" ID="fullName" CssClass="textBoxes"></asp:TextBox> 

與asp.net 4.0和jQuery。

我該怎麼做?

謝謝。

+0

你更換任何用戶已經用「測試」中輸入或刪除任何他們進入之前(含)之後的'/'並保持後面的'/'的文本? – 2012-02-22 20:08:16

回答

1

假設你希望它只是保持字符串的值/之後,不只是簡單地更換功能的「你好/」,試試這個:

$(".textBoxes").blur(function() { 
    var values = $(this).val().split('/'); 
    $(this).val(values[values.length-1]) 
}); 

Example fiddle

+0

這是一個很好的答案,但#fullName將不起作用,因爲這不是客戶端ID。您必須在服務器上發出腳本來填充客戶端ID或發出變量等......或者在aspx中放入一個Eval語句。 – swannee 2012-02-22 20:18:11

+0

@swannee你是對的 - 忘記了這一點,因爲我被MVC寵壞了而不是屠殺UI代碼。我修改了選擇器 - 儘管我猜OP會有一個方法來選擇哪些字段應該具有這個功能。 – 2012-02-22 20:28:14

+0

@RoryMcCrossan - 謝謝你,如果頁面clientidmode是靜態的,它會工作的很好。 – Wahtever 2012-02-22 20:31:20

0

您可以使用正則表達式用一個空字符串替換不需要的字符串(S):

$('textarea, input[type="text"]').on('blur', function() { 
    this.value = this.value.replace(/(hello\/)/gi, ''); 
}); 

這個正則表達式查找的hello/(不區分大小寫)的任何實例,並用一個空字符串替換它。

這裏是一個演示:http://jsfiddle.net/K8xMf/