2014-05-15 21 views
0

這裏我使用JavaScript來查找給定事件的上一行數。如何獲得給定事件的上一行數

在這裏,我有這樣的文字

iriwr a 
!!!!!!!!! 
jaljflsjfa 
fasjfkjaslf 
!!! 
ldjadada 
!!!!!!!! 
mlakifkqwoieqkwe 
dalkdajsdja 
!!!!!!!!! 

在本文中我有字符,現在我必須得到以前的行號,其中有5個或更多的感嘆號。

例如:

在第5行(從1開始)只有3個!這不應該算。 只有超過5個,代碼纔會計數!然後找出以前的行號。

即在第2,7,10行中有超過5!s,因此它應該給出前面的行號爲1,6,9。

我該怎麼做?

這是我試過的。

<!DOCTYPE html> 
<html> 
<head> 
<link rel="stylesheet" href="css/style.css" type="text/css"> 
<script> 
function getnum() { 
var str = document.getElementById('strin').innerHTML; 
var n = str.search("!!!"); 
document.getElementById("demo").innerHTML = n; 
} 
</script> 
<body> 

<textarea rows="12" cols="15" id="strin"> 
iriwr a 
!!!!!!!!! 
jaljflsjfa 
fasjfkjaslf 
!!!!!!!! 
ldjadada 
!!!!!!!! 
!!!!!! 
mlakifkqwoieqkwe 
dalkdajsdja 
!!!!!!!!! 
</textarea> 

<button onclick="getnum()">Get line number</button> 
<p id="demo"></p> 
</body> 
</html> 
+1

按'\ n'分割,查找''!!!!!'',如果是真prevoius索引? –

+0

是否應該返回多行號碼? –

+0

@TejasPatel是的 –

回答

1
function getnum() { 
    var str = document.getElementById('strin').innerHTML; 
    var arr = str.split("\n"); 
    var lines=""; 
    for(i=0;i<arr.length;++i){ 
     if(arr[i].search("!!!!!")!=-1){ 
      lines+=" "+i; 
     } 
    } 

    document.getElementById("demo").innerHTML = lines; 
} 

試試這個功能。它將返回空格分隔的行號,但您可以用任何您喜歡的方式進行格式化。

相關問題