2017-10-09 2 views
-1
<html> 
<head> 
<script type="text/javascript"> 
function gcd() 
{ 
var x,y; 
x=parseInt(document.myform.n1.value); 
y=parseInt(document.myform.n2.value); 
if((x>'a' && x<='z') && (y>'a' && y<='z') && (x>'A' && x<='Z') && (y>'A' && y<='Z')) 
{ 
while(x!=y) 
{       
    if(x>y) 
     x=x-y; 
    else 
     y=y-x; 
} 
document.myform.result.value=x; 
} 
else 
{ 
    alert("Enter valid character ! "); 
} 
</script> 
</head> 
<body> 
<h1 align="center"><b>gcd of two numbers</b></h1> 
<hr color="black"> 
<center> 
Enter two numbers : 
<form name="myform"> 
Number 1 : <input type="text" name="n1" value=""> <br> <br> 
Number 2 : <input type="text" name="n2" value=""> <br> <br> 
<input type="button" value="Get GCD" onClick="gcd()"> <br> <br> 
GCD is : <input type="text" name="result" value=""> 
</form> 
</body> 
</html> 

上記はHTML-javascriptコードですが、特殊文字を入力するとアラートボックスが表示されるような機能を追加しようとしています。上記のコードが動作しない理由を理解するのに役立ちます。初心者はjavascriptで、あなたの助けが必要です。 ありがとうございます。エラーメッセージのアラートボックスを指定されたコードに追加するには?

+0

はあなたが正規表現(正規表現)をやってみましたができnumber .Itsで入力タイプを変更していますか? – BanelingRush

+0

私はあなたがその式に '||'をほしいと思っています。文字は決して大文字と小文字の両方にはなりません。 – Bergi

+0

@BanelingRush Regexはここで少し過剰に設計されているので、おそらくキャラクターをテストすることは、OPが直面する問題ではありません。 – Bergi

答えて

0

エラーを処理するだけでなく、テキストが希望の形式であることを確認する最も良い方法は、Regular Expressionを使用することです。ここでの基本的な検証は、入力タイプをnumberに設定することで以下のように行うことができますが、推奨しません。

いつでもエラーはJavascript Error Handlingで処理できます。

あなたのユースケースについて次のような調査を行い、あなたの理想的なケースが何であるかを把握することをおすすめします。お役に立てれば !

+0

私の目的を解決する元のコードを少し微調整してもらえますか? – user7841468

+0

if文を次のように変更してください - 'if(((x> 'a' && x <='z') || (x> 'A' && x <= 'Z'))&&((y> 'a' && x <='z') || (y> 'A' && y <= 'Z')))は、この問題を回避するための厄介な方法です。私は上記のように文字入力を許可する理由は理解できませんが、数値を型に設定する方が効率的な変換方法です – BanelingRush

0

単に数だけ

function gcd() { 
 
    var x, y; 
 
    x = document.myform.n1.value; 
 
    y = document.myform.n2.value 
 
    x = parseInt(x); 
 
    y = parseInt(y) 
 
    if (x > y) { 
 
    x = x - y; 
 
    } else { 
 
    x = y - x; 
 
    } 
 
    document.myform.result.value = x; 
 
}
<h1 align="center"><b>gcd of two numbers</b></h1> 
 
<hr color="black"> 
 
<center> 
 
    Enter two numbers : 
 
    <form name="myform"> 
 
    Number 1 : <input type="number" name="n1" value=""> <br> <br> Number 2 : <input type="number" name="n2" value=""> <br> <br> 
 
    <input type="button" value="Get GCD" onClick="gcd()"> <br> <br> GCD is : <input type="number" name="result" value=""> 
 
    </form>

関連する問題