2 wenwuxiaojia wenwuxiaojia 于 2016.03.07 19:36 提问

请教一下已知验证方法,怎么用JavaScript实现表单的验证,并将提示信息输入到文本框后
 <script type="text/javascript">
//检查全部表单元素是否为空
     function checkBlank(Form) {
        var v=true;
        for(i=0;i<Form.length;i++){
            if(Form.elements[i].value==""){
            alert(Form.elements[i].title+"不能为空!");
            Form.elements[i].focus();
            v=false;
            return false;
            }
        }
        return v;
    }
//验证用户名是否合法
     function checkusername(username) {
         var str=username;
         //在JavaScript中,正则表达式只能以"/"开始和结束
         var Expression=/^(\w){3,20}$/;
         var objExp=new RegExp(Expression);
         return objExp.test(str);
     }
//验证密码是否合法
     function checkPWD(PWD) {
        var str=PWD;
        var Expression=/^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}/;
        var objExp=new RegExp(Expression);
        return objExp.test(str);
    }
//验证Email地址是否合法
     function checkemail(email) {
        var str=email;
        var Expression=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
        var objExp=new RegExp(Expression);
        return objExp.test(str);

    }

4个回答

showbo
showbo   Ds   Rxr 2016.03.07 20:39
已采纳

<form method="post" onsubmit="return checkBlank(this)">
    <input type="text" title="name" /><br />
    <input type="text" title="password" /><br /><input type="submit" value="提交" />
</form>
<script type="text/javascript">
    function showMsg(input, msg) {
        if (msg === false) {
            if(input.nextSibling.tagName=='LABEL') input.parentNode.removeChild(input.nextSibling)
        }
        else if(input.nextSibling.tagName!='LABEL') {
            var lb = document.createElement('label');
            lb.innerHTML = msg;
            input.parentNode.insertBefore(lb, input);
            input.parentNode.insertBefore(input, lb);
        }
    }
    //检查全部表单元素是否为空
    function checkBlank(Form) {
        var v = true;
        for (i = 0; i < Form.length; i++) {
            if (Form.elements[i].value == "") {
                //alert(Form.elements[i].title + "不能为空!");
                showMsg(Form.elements[i], Form.elements[i].title + '不能为空!');
                Form.elements[i].focus();
                v = false;
                return false;
            } else showMsg(Form.elements[i], false);
        }
        return v;
    }
    //验证用户名是否合法
    function checkusername(username) {
        var str = username;
        //在JavaScript中,正则表达式只能以"/"开始和结束
        var Expression = /^(\w){3,20}$/;
        var objExp = new RegExp(Expression);
        return objExp.test(str);
    }
    //验证密码是否合法
    function checkPWD(PWD) {
        var str = PWD;
        var Expression = /^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}/;
        var objExp = new RegExp(Expression);
        return objExp.test(str);
    }
    //验证Email地址是否合法
    function checkemail(email) {
        var str = email;
        var Expression = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
        var objExp = new RegExp(Expression);
        return objExp.test(str);

    }
    </script>
wenwuxiaojia
wenwuxiaojia 已经解决啦,谢谢您啦
接近 2 年之前 回复
showbo
showbo 回复wenwuxiaojia: 我给你的代码就是了,正确是删除标签,你要显示正确自己设置正确的信息就行了。showMsg(Form.elements[i], Form.elements[i].title + '正确!');
接近 2 年之前 回复
wenwuxiaojia
wenwuxiaojia 请问要在文本框后面显示输出提示信息,正确或者错误,应该怎么做呀,我现在都是用的div标签逐个显示的,请问有什么简洁的方法吗?
接近 2 年之前 回复
wenwuxiaojia
wenwuxiaojia   2016.03.07 22:28

请问要在文本框后面显示输出提示信息,正确或者错误,应该怎么做呀,我现在都是用的div标签逐个显示的,请问有什么简洁的方法吗?

WinsenJiansbomber
WinsenJiansbomber   2016.03.08 01:31

你应该需要做一个表单管理插件,如果像上面这样一个个函数来处理表单的参数累死你.

Royal_lr
Royal_lr   Ds   Rxr 2016.03.08 10:32

就是在提交表单的时候验证就行了,,

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!