私のjavascriptプログラムでは、4つの正規表現を作成し、ユーザーからの入力を求めるためにプロンプトをループで作成しました。ユーザーがデータを入力すると、私が作成したすべての正規表現と照合し、各テスト後に「一致」または「不一致」かどうかを表示し、ユーザーが「停止」を入力して最後の時間をテストして終了するまで繰り返す。 1つのプロンプトが表示され、同じように表示されます。私のコードはほぼ準備ができていますが、私のコードが正しく動作していないためにエラーが発生しています。誰でも私を修正できますか?Javascript:ループ内のプロンプトダイアログボックスと各正規表現に対してテストデータを使用
コード:
<!DOCTYPE html>
<html>
<head>
<title>lab12</title>
</head>
<body bgcolor="#efe862">
<h3 id="txt1"> </h3>
<p id= "text1"> </p>
<p id="match1"></p>
<p id="noMatch1"></p>
<p id= "text2"> </p>
<p id="match2"></p>
<p id="noMatch2"></p>
<p id= "text3"> </p>
<p id="match3"></p>
<p id="noMatch3"></p>
<p id= "text4"> </p>
<p id="match4"></p>
<p id="noMatch4"></p>
<script>
myFunction();
function myFunction() {
var prom = prompt("Enter a text(stop to exit)");
var patt1 = /\w/g;
var patt2 = /\[^0-9]/g;
var patt3 = /[A-Z][a-z]\s/;
var patt4 = /\W\d\d\d\d\d.?\d/;
while(prom !== "stop"){
var prom = prompt("Enter a text(stop to exit)");
}
do{
document.getElementById("txt1").innerHTML = "The text is: " + prom;
document.getElementById("text1").innerHTML = "Match a string that contains atleast one character in A-Z, a-z, 0-9 and _";
if(patt1 || patt2 || patt3 || patt4.test(prom)){
document.getElementById("match1").innerHTML = "It's match";
}
else{
document.getElementById("noMatch1").innerHTML = "No match";
}
document.getElementById("text2").innerHTML = "Match a string that doesn't contain a number between 0 and 9";
if(patt1 || patt2 || patt3 || patt4.test(prom)){
document.getElementById("match2").innerHTML = "It's match";
}
else{
document.getElementById("noMatch2").innerHTML = "No match";
}
document.getElementById("text3").innerHTML = "Search for an uppercase letter, followed by one or more lower case letters, followed by a space";
if(patt1 || patt2 || patt3 || patt4.test(prom)){
document.getElementById("match3").innerHTML = "It's match";
}
else{
document.getElementById("noMatch3").innerHTML = "No match";
}
document.getElementById("text4").innerHTML = "Find a # sign, followed by exactly 5 repeating digits, a period and another digit";
if(patt1 || patt2 || patt3 || patt4.test(prom)){
document.getElementById("match4").innerHTML = "It's match";
}
else{
document.getElementById("noMatch4").innerHTML = "No match";
}
}
}
</script>
</body>
</html>
予想される出力:
は、私は、関数の機能や外でこれを書くべきでしょうか? – pari
私はまだ得ていません。コードを書いていただけますか?ありがとう – pari
re.test()の適用方法は? – pari