3

任何人都可以告诉除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");
4

3 回答 3

1

你可以这样做:

var keyCode = window.event.keyCode || event.which;
if ((keyCode < 65 || keyCode > 90) && (keyCode < 97 || keyCode > 123) ) {
     alert("only letters allowed");
}
于 2013-09-06T06:21:16.283 回答
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/

我想指出,我不确定这里的性能是什么,也没有针对各种极端情况对其进行测试,但它应该可以解决问题。

于 2013-09-06T06:35:19.640 回答
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);" />
于 2013-09-06T06:25:50.460 回答