这里我使用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>
答案 0 :(得分: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;
}
试试这个功能。它将返回以空格分隔的行号,但您可以按照自己喜欢的方式进行格式化。