var checkEnt = false; function playBall(){ if(!checkEnt){ checkEnt = true; setTimeout("checkEnt = false", 10); var str = document.fm.input.value; var line = document.fm.line.value; var num = document.fm.num.value; var i; if(str.length == 0){ alert("文章が入力されていません。"); return false; } if(str.match(/[\r\n]/)){ str = str.match(/[^\r\n]*(\r\n|[\r\n])|[^\r\n]+$/g); } else str = new Array(str + ""); if(line.match(/\d+/) && line != "0" && parseInt(line) <= str.length){ line = parseInt(line); } else { alert("行の番号には、0以上で文章の行数以下の整数を入力してください。\nこの文章の行数は " + str.length + " です。"); return false; } str[line - 1] = str[line - 1].replace(/[\r\n]/g, ""); if(num.match(/\d+/) && num != "0" && parseInt(num) <= str[line - 1].length){ num = parseInt(num); } else { alert("文字の番号には、0以上で指定した行の文字数以下の整数を入力してください。\n" + line + "行目の文字数は " + str[line - 1].length + " です。"); return false; } for(i = 0; i < str.length; i++){ if(i != line - 1) str[i] = replaceSpecChars(str[i].replace(/[\r\n]/g, "")); } str[line - 1] = "" + replaceSpecChars(str[line - 1].substring(0, num - 1)) + "" + replaceSpecChars(str[line - 1].charAt(num - 1)) + "" + replaceSpecChars(str[line - 1].substring(num, str[line - 1].length)) + ""; if(document.all){ document.all("outputarea").innerHTML = "

結果出力

\n
  1. " + str.join("
  2. ") + "
"; } else if(document.getElementById){ document.getElementById("outputarea").innerHTML = "

結果出力

\n
  1. " + str.join("
  2. ") + "
"; } else if(document.layers){ document.layers["outputarea"].document.open(); document.layers["outputarea"].document.write("

結果出力

\n
  1. " + str.join("
  2. ") + "
"); document.layers["outputarea"].document.close(); } else { alert("ブラウザが対応していません。"); return false; } location.hash = "founded-char"; } } function replaceSpecChars(str){ return str.replace(/&/g, "&").replace(//g, ">"); }