-1

私は自分の Web サイトで電子メール アドレスを検証しようとしています。また、電子メール検証が JavaScript でどのように機能するかのデモをコーディングしようとしています。私がやろうとしているのは、ユーザーが入力した電子メールアドレスの値をvalidateEmail関数に渡し、「結果」というIDを持つdivに「有効」または「無効」を出力することです。私は JavaScript に比較的慣れていないので、これを達成する方法がわからず、誰かがこれを行う方法の例を見せてくれるかどうか疑問に思っていましたか?

<head>
<title>Practice</title>

<script type="text/javascript">
function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
} 
</script>
</head>
<body>
    <form action="post" method="practice.php">
        e-mail: <input id="email" type="text" onblur="validateEmail(execute(document.getElementById('email').value))" />
        <div id="result"></div>
    </form>
</body>
4

1 に答える 1

1

まず、executeメソッドを使用する必要はなく、コンテキストvalueから取得できます。this

validateEmail( this.value )

次に、関数を変更して結果を出力します。

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    if(re.test(email)) {
        document.getElementById('result').innerHTML = 'valid';
    } else {
        document.getElementById('result').innerHTML = 'invalid';
    }
} 
于 2012-07-02T13:32:56.003 に答える