2015-04-02 46 views
-4

在我的網頁有兩個文本框,如果我輸入「11,歡迎街道」,然後移動到下一個文本框表示字符串自動更改爲「11,歡迎ST」。使用Javascript ..請任何人幫忙。更改JavaScript中的字符串

感謝提前

"11, welcome street" 

我想我的字符串變成

"11,WELCOME ST" 
+0

這不是一個問題 - 這是一個規範。你在哪一點卡住了? – 2015-04-02 11:26:38

+0

有一些新東西叫做Google! – 2015-04-02 11:27:10

回答

0

你能做到這一點,像這樣

str.toUpperCase().replace(', ', ',').replace('STREET', 'ST') 

請注意這個代碼是脆並且只能在您請求的具體示例中應用。

+0

我想改變文本框本身的值..如果我按Tab鍵或選擇下一個盒子意味着操作將發生... – Abdul 2015-04-02 11:54:49

0

這可能會按預期工作,即使我會小心更換部件。很可能在某些時候,你取代了你實際想要保留的東西。

alert("11, welcome street".replace("street", "ST").toUpperCase().replace(", ", ","));

更新:包括 「街頭」 替代。

0

使用JS:

var dic = { 
 
    "STREET": "ST", 
 
    "ROAD": "RD", 
 
    "JUNCTION": "JN" 
 
}; 
 

 
var up = function(box) { 
 
    box.value = box.value.toUpperCase(); 
 
    for (var k in dic) 
 
    box.value = box.value.replace(k, dic[k]) 
 
};
<input type='text' value='HEY' onblur='up(this)' />

OR

使用JS:

var dic = { 
 
    "STREET": "ST", 
 
    "ROAD": "RD", 
 
    "JUNCTION": "JN" 
 
}; 
 

 
var up = function(box) { 
 
    var arr = box.value.toUpperCase().split(' '); 
 
    var i = arr.length; 
 
    while(i --) 
 
    arr[i] = dic[arr[i]] || arr[i]; 
 
    box.value = arr.join(' '); 
 
};
<input type='text' value='HEY' onblur='up(this)' />

+0

謝謝你@ Arvind。 – Abdul 2015-04-02 12:09:26

+0

我還有一個疑問...如果我輸入「街道」意味着改變「st」和「道路」改爲「rd」和「junction」改爲「jn」......它如何將所有功能放在單個功能中 – Abdul 2015-04-02 12:11:45