-4

次のようなテキストボックスがあります。

<input type="text" size="30" name="form[id]" id="form_id">

検証する JavaScript 関数が必要です。

  1. スペースは使用できません。
  2. 数字、文字、ダッシュ (-)、アンダースコア (_) のみを使用でき、その他の特殊文字は使用できません。
  3. 空であってはなりません

ユーザーの入力が検証に違反している場合の送信時。警告メッセージが表示されます。

4

3 に答える 3

2

jQueryで私はそのようなことをします:

$('#formId').submit(function(e) {
    var validator = new RegExp(/^[\w_-]{1,}$/), //Min 1 char or more
        text = $('input[name="form[id]"]').val();
    if(validator.test(text))
        $(this).submit();
    else {
        alert('Code not valid');
        return false;
    }
});

正規表現チートシート

注意: jsfiddle は atm を停止しており、コードはテストされていません

于 2013-02-08T10:17:15.843 に答える
1

これがJavaScriptです

<script type="text/javascript">

function NoSpecialChars(){
    var element=document.getElementById('form_id');
    var specialchars= "!@#$%^&*()+=[]\\\';,./{}|\":<>?";
    if(element.value.length==0){
        alert('Enter some text');
        return false;
    }
    for (var i = 0; i < element.value.length; i++) {
        if (specialchars.indexOf(document.formname.fieldname.value.charAt(i)) != -1) {
            alert ("Those are not allowed.");
            return false;
        }
    }
    return true;
}
</script>

テキストボックスのonclientclickイベントをサブスクライブする必要があります。

<input type="text" size="30" name="form[id]" id="form_id" onclientclick="return NoSpecialChars();">

それが役に立てば幸い

于 2013-02-08T10:14:50.360 に答える
1

フォームの検証には JQuery 検証エンジンを使用します。JQuery 検証のリンクは次のとおりです

于 2013-02-08T10:19:14.410 に答える