2017-06-15 82 views
-1

如果这是我的文字:如何读取一个字符在多个字符串中的位置?

<textarea readonly id="rightbox" class="rightbox"> 
From: Emailadress 
Sender: Emailadress 
Reply-To: Emailadress 
</textarea> 

我怎么能读的emailadress的位置?

我的indexOf

var str = document.getElementById('rightbox').innerHTML; 
var pos = str.indexOf('{Emailadress}'); 

试了一下我只得到1的emailadress的位置。 是否有可能获得所有职位并将其写入数组?

+0

'Emailadresse!== Emailadress' –

+0

另外' 'leftbox'!==“rightbox'',但我认为这是在问题,只是错字:-) – Capsule

+1

这是在以下问题中已经回答了。请参阅[https://stackoverflow.com/a/40281656/1273550](https://stackoverflow.com/a/40281656/1273550) –

回答

0

第一变化rightbox作为id代替leftbox,第二使用value代替innerHTML

indexOf()会给你第一个出现的匹配字符串(检查Emailadresse)。

var str = document.getElementById('rightbox').value; 
 
console.log('Position of Emailadress:'+str.indexOf('{Emailadresse}')); 
 
console.log('Position of Emailadress:'+str.indexOf('Emailadress')); 
 
// to get all occurence of Emailaddress 
 
var regexp = /Emailadress/g; 
 
var key, positions = []; 
 
while ((key = regexp.exec(str)) != null) { 
 
    positions.push(key.index); 
 
} 
 

 
console.log(positions);
<textarea readonly id="rightbox" class="rightbox"> 
 
From: Emailadress 
 
Sender: Emailadress 
 
Reply-To: Emailadress 
 
</textarea>

+0

我认为问题是:你如何获得所有职位。但措辞非常糟糕。 – Capsule

+0

是的,我已经更新了我的答案。 –

+0

好的,非常感谢。 –

1
var str = "I learned to play the Ukulele in Lebanen with neel." 
var regex = /ne/gi, result, indices = []; 
while ((result = regex.exec(str))) { 
    indices.push(result.index); 
} 
Answers:indices= 6,37,46 
相关问题