2014-09-28 27 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>