2014-09-28 67 views
0

我試圖削減在不同部分的字符串,每一部分返回到一個不同的輸入。這裏有一個例子:的Javascript:切割字符串,並返回在不同的輸入

考慮以下字符串:Hello|World|!

正如你可以看到,有一個分隔符,這是|。我想這個|繩剪斷的各個部分分開,並將其退回到一個不同的輸入。

我不能使用str.substr()(至少通常使用它,也許你有一個特技)因爲|之間的字符數不是固定的,有時這將是2個字符,有時如圖16所示,和從我知道的str.substr()需要設置剪切前的字符數。

基本上我尋找一個解決方案爲Excel的轉換功能,在這裏你定義一個分離器和Excel將分離值成不同細胞的每個部分各次他發現分離器設置提供。

這是JavaScript的第一部分,以其中的字符串粘貼textarea的價值:

function cutTheString() 
{ 
    var str = document.getElementById('textarea').value; 
} 

,這將是HTML:

<textarea id="textarea"></textarea> 
<br /> 
<input type="submit" value="Cut string" onClick="cutTheString()" /> 
<input type="text" id="string1"></input> 
<input type="text" id="string2"></input> 
<input type="text" id="string3"></input> 

現在我有document.getElementById('string1').value = str();它將完整的字符串返回到第一個輸入。我也有使用var res = str.split("|");到分離|轉化爲,的可能性,但並沒有真正幫助我的情況。

+3

['分裂()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)返回一個** **陣列。你還需要什麼? – 2014-09-28 03:09:26

+0

我需要將字符串的每個部分返回到不同的輸入,而不是一個單獨的輸入。 – Orphal 2014-09-28 03:11:42

+0

有沒有聽說過循環? – 2014-09-28 03:13:17

回答

0

提供您有足夠的<input>元素:

function cutTheString() 
{ 
    var str = document.getElementById('textarea').value; 
    var arrayOfStrings = str.split('|'); 
    for(var i = 0; i < arrayOfStrings.length; i++) { 
    document.getElementById("string" + (i+1)).value = arrayOfStrings[i]; 
    } 
} 

JS Fiddle

+0

完美,謝謝:) – Orphal 2014-09-28 03:37:52

0

您可以getElementById一個循環中,就如同:

foreach{ getElementById(i++)} var result = result.contact(); 

您可以使用jQuery的其他方式,它具有標籤選擇。

+0

感謝您的回覆。雖然我不是很瞭解它,或者它不會做我正在尋找的東西。我在textarea中有一個很大的字符串,只有一個id,並且我想在每次有特定分隔符時剪切該字符串,然後將剪切字符串的所有部分返回到不同的輸入中。所以我不知道如何多次獲取id會有幫助,因爲只有一個id作爲字符串的源。 – Orphal 2014-09-28 03:22:51

1
<script> 
    var myString = 'hello|world|!'; 
    var myArray = myString.split('|') 
    document.getElementById('string1').value = myArray[0]; 
    document.getElementById('string2').value = myArray[1]; 
    document.getElementById('string3').value = myArray[2]; 

</script> 

<div> 
    <input type='text' id='string1'></input> 
    <input type='text' id='string2'></input> 
    <input type='text' id='string3'></input> 
</div> 
相關問題