文本框的JavaScript / jQuery验证

时间:2013-02-08 10:05:55

标签: javascript jquery

我有一个像这样的texbox:

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

我需要一个验证的JavaScript函数:

  1. 不允许空格。
  2. 只允许使用数字,字母,短划线( - )和下划线(_),不允许使用其他特殊字符。
  3. 不应该是空的
  4. 在用户输入违反验证时提交。应显示警告信息。

3 个答案:

答案 0 :(得分: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;
    }
});

Regular Expressions Cheat Sheet

注意:jsfiddle已关闭,代码尚未经过测试

答案 1 :(得分: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();">

希望有所帮助

答案 2 :(得分:1)

使用JQuery验证引擎验证表单.. 这是JQuery Validation

的链接