-4

我有一个这样的texbox:

<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 回答