对于表单验证,除了javascript中的Regex还有其他方法吗?

时间:2013-09-06 06:15:52

标签: javascript

任何人都可以在javascript中告诉除了正则表达式之外的表单验证方法,还有人可以建议任何替代方法,而不使用正则表达式来代替以下代码吗?

           function AllowAlphabet(){
           if (!frm.alphabet.value.match(/^[a-zA-Z]+$/) && frm.alphabet.value !="")
           {
                frm.alphabet.value="";


                alert("Please Enter only alphabets");
           }
           if(frm.alphabet.value.length > 5)
           alert("max length exceeded");

3 个答案:

答案 0 :(得分:1)

你可以这样做:

var keyCode = window.event.keyCode || event.which;
if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) ) {
     alert("only letters allowed");
}

答案 1 :(得分:1)

如果我是诚实的话,我会用RegEx来做,但是既然你问,也许你可以这样做:

var isValid = function (input) {
    for (var i = 0; i < input.length; i++) {
        var c = input.charAt(i);
        if (!isNaN(parseInt(c))) {
            return false;
        }
    }
    return true;
};

这是一个小提示:http://jsfiddle.net/SVy3R/1/

我想请注意,我不确定这里的性能是什么,我还没有针对各种角落情况进行测试,但它应该可以解决这个问题。

答案 2 :(得分:0)

//this function allow only alphabets in textbox

<script language="Javascript" type="text/javascript">
    function onlyAlphabets(e, t) {
        try {
            if (window.event){
                var charCode = window.event.keyCode;
            }
            else if (e) {
                var charCode = e.which;
            }
            else { return true; }

            if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))
                return true;
            else
                return false;
        }
        catch (err) {
            alert(err.Description);
        }
    }
    </script>
<input type="text" onkeypress="return onlyAlphabets(event,this);" />