js中判断用户输入的值是否为空的简单实例


Posted in Javascript onDecember 23, 2013

在js中判断用户输入的值是否为空,这是大家用得非常多的. 这没有什么好写的. 而我却写了. 原因只是自以为是的认为我的这些代码写得不错, 供大家参考一下.

这是摘自的我一个项目的中的用户注册页面.对于大多数人来说,这都几乎是100%经历过的.
贴代码吧,这些代码都是用js写的. 不难,很容易看懂. 看的时候,只要区别两个js类就行了.
前台页面代码:reguser.aspx

<%@ Page language="c#" Codebehind="RegUser.aspx.cs" AutoEventWireup="false" Inherits="Enterprise.Web.RegUser" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
    <head>
        <title>用户注册</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        <LINK rel="stylesheet" type="text/css" href="/CSS/EnterpriseWebSite.css">
        <script src="/js/CommonFunction.js" ></script>
        <script>
            var reg    = {};
            reg.userName    = '';
            reg.password    = '';
            reg.confirmPassword    = '';
            reg.question    = '';
            reg.answer    = '';
            reg.url    = '';
            reg.sex    = 1;
            reg.email    = '';
            reg.tel    = '';
            reg.mobile    = '';
            reg.qq    = '';
            reg.address    = '';
            reg.postalcode    = '';
            reg.form    = null;            function btnSubmit_onclick()
            {
                reg.form    = document.forms[0];
                var comFun    = new commonFunction();
                if(!comFun.checkIsEmpty(reg.form))
                {
                    return false;
                }
                if(comFun.$getElementById('txtPassword').value!=comFun.$getElementById('txtConfirmPassword').value)
                {
                    alert('两次密码输入不一致');
                    comFun.$getElementById('txtConfirmPassword').select();
                    return false;
                }
                reg.userName    = comFun.$getElementById('txtUserName');
                reg.password    = comFun.$getElementById('txtPassword');
                reg.question    = comFun.$getElementById('txtQuestion');
                reg.answer        = comFun.$getElementById('txtAnswer');
                reg.url            = comFun.$getElementById('txtUrl');
                reg.email        = comFun.$getElementById('txtEmail');
                reg.tel            = comFun.$getElementById('txtTel');
                reg.mobile        = comFun.$getElementById('txtMobile');
                reg.qq            = comFun.$getElementById('txtQQ');
                reg.address        = comFun.$getElementById('txtAddress');
                reg.postalcode    = comFun.$getElementById('txtPostalcode');
                var es    = comFun.$getElementsByName('sex');
                var eL    = es.length;
                for(var i=0; i<eL; i++)
                {
                    var    e    = es[i];
                    if(e.checked)
                    {
                        reg.sex    = e.value;
                        break;
                    }
                }
                RegUser.Reg(reg.userName.value, reg.password.value, reg.question.value, reg.answer.value, reg.url.value, reg.sex.value, reg.email.value, reg.tel.value, reg.mobile.value, reg.qq.value, reg.address.value, reg.postalcode.value, callback_Reg);
            }
            function callback_Reg(res)
            {
                var rv    = res.value;
                if(rv)
                {
                    alert('注册成功!');
                    window.location.href='/Default.aspx';
                }
                else
                {
                    alert('有错误发生,注册失败!有可能是用户名或者域名被别人注册过了!');
                }
            }
            // 检测用户名的域名是否被其它用户注册过了
            function checkIsRegistered(obj, errorS, t)
            {
                var v    = obj.value;
                var rv    = RegUser.CheckIsRegistered(v, t).value;
                if(rv)
                {
                    alert(errorS);
                    obj.select();
                    return false;
                }
            }
        </script>
    </head>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
            <table width="98%" border="0" align="center" cellpadding="3" cellspacing="0">
                <tr>
                    <td width="16%"><div align="right">用户名:</div>
                    </td>
                    <td width="84%"><input type="text" id="txtUserName" onblur="checkIsRegistered(this, '该用户名已经被注册,请使用其它的!', 1)" maxlength="15" isRequired="true" isValidate="true" errorSForEmpty="用户名不能为空!" errorSForValidate="匹配出错!以字母开头,允许3-16字节,允许字母数字下划线以及许可的安全符号!" validatePattern="/^[a-zA-Z][a-zA-Z0-9_$%]{2,15}$/" title="用户名必须填写!"><font color="#ff0000">*</font></td>
                </tr>
                <tr>
                    <td><div align="right">密码:</div>
                    </td>
                    <td><input type="password" id="txtPassword" maxlength="15" isRequired="true" isValidate="true" errorSForEmpty="密码不能为空!" errorSForValidate="匹配出错!要求3-16字节,允许字母数字下划线以及许可的安全符号!!" validatePattern="/^[a-zA-Z0-9_$%]{2,15}$/" title="密码必须填写!"><font color="#ff0000">*</font></td>
                </tr>
                <tr>
                    <td><div align="right">确认密码:</div>
                    </td>
                    <td><input type="password" id="txtConfirmPassword" isRequired="true" errorSForEmpty="确认密码不能为空!"><font color="#ff0000">*</font></td>
                </tr>
                <tr>
                    <td><div align="right">密码提示问题:</div>
                    </td>
                    <td><input type="text" id="txtQuestion" maxlength="50" isRequired="true" isValidate="true" errorSForEmpty="密码提示问题没有填写!" errorSForValidate="长度必须在8-50个字之间且不得有空格!" validatePattern="/\S{8,50}/" title="密码提示问题必须填写!"><font color="#ff0000">*</font></td>
                </tr>
                <tr>
                    <td><div align="right">密码问题答案:</div>
                    </td>
                    <td><input type="text" id="txtAnswer" maxlength="50" isRequired="true" isValidate="true" errorSForEmpty="密码问题答案没有填写!" errorSForValidate="长度必须在8-50个字之间且不得有空格!" validatePattern="/\S{8,50}/" title="密码问题答案必须填写!"><font color="#ff0000">*</font></td>
                </tr>
                <tr>
                    <td><div align="right">站点Url:</div>
                    </td>
                    <td><input type="text" id="txtUrl" onblur="checkIsRegistered(this, '该Url已经被注册,请使用其它的!', 2)" maxlength="20" isRequired="true" isValidate="true" errorSForEmpty="站点Url不能为空!" errorSForValidate="站点Url格式不对!" validatePattern="/^[a-zA-Z0-9]{1,20}$/" title="站点Url必须填写!"><font color="#ff0000">*</font></td>
                </tr>
                <tr>
                    <td><div align="right">性别:</div>
                    </td>
                    <td><input type="radio" id="boy" name="sex" value="1" checked>男  <input type="radio" id="girl" name="sex" value="0">女</td>
                </tr>
                <tr>
                    <td><div align="right">Email:</div>
                    </td>
                    <td><input type="text" id="txtEmail" isValidate="true" errorSForValidate="Email格式不正确!" validatePattern="/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/"></td>
                </tr>
                <tr>
                    <td><div align="right">固定电话:</div>
                    </td>
                    <td><input type="text" id="txtTel" isRequired="true" isValidate="true" errorSForEmpty="固定电话不能为空!" errorSForValidate="固定电话格式不对!请使用0592-5555555的格式!" validatePattern="/^(\d{3}-|\d{4}-)?(\d{8}|\d{7})$/" title="固定电话必须填写!"><font color="#ff0000">*</font></td>
                </tr>
                <tr>
                    <td><div align="right">移动电话:</div>
                    </td>
                    <td><input type="text" id="txtMobile" isValidate="true" errorSForValidate="移动电话格式不正确!" validatePattern="/^1\d{10}$/"></td>
                </tr>
                <tr>
                    <td><div align="right">QQ:</div>
                    </td>
                    <td><input type="text" id="txtQQ" isValidate="true" errorSForValidate="QQ格式不正确!" validatePattern="/^[1-9]*[1-9][0-9]*$/"></td>
                </tr>
                <tr>
                    <td><div align="right">住址:</div>
                    </td>
                    <td><input type="text" id="txtAddress"></td>
                </tr>
                <tr>
                    <td><div align="right">邮编:</div>
                    </td>
                    <td><input type="text" id="txtPostalcode" maxlength="6" isValidate="true" errorSForValidate="邮编不正确!" validatePattern="/^\d{6}/"></td>
                </tr>
                <tr>
                    <td><div align="right">操作:</div>
                    </td>
                    <td><input type="button" value="注册" id="btnSubmit" onclick="btnSubmit_onclick()">  <input type="reset" value="重置"></td>
                </tr>
            </table>
        </form>
    </body>
</html>

在上面的代码中,有包含了一个CommonFunction.js文件,下面这是他的内容:
/***********************************************************
*
*    公共js函数
*
***********************************************************/
function commonFunction()
{
    // check value is null or empty
    this.checkIsEmpty    = function(obj)
    {
        var flag    = true;
        for(var i=0; i<obj.length; i++)
        {
            var e    = obj.item(i);
            if(e.isRequired)
            {    
                if(e.value=='')
                {
                    alert(e.errorSForEmpty);
                    e.focus();
                    flag    = false;
                    break;
                }
            }            if(e.isValidate)
            {
                if(this.checkValidate(e)==false)
                {
                    alert(e.errorSForValidate);
                    e.select();
                    e.focus();
                    flag    = false;
                    break;
                }
            }
        }
        return flag;
    }
    // check value is validate
    this.checkValidate    = function(e)
    {
        var v    = e.value;
        if(v!='')
        {
            return this.checkReg(e.validatePattern, v);
        }
    }
    // regexp validate
    this.checkReg    = function(pattern, value)
    {
        pattern    = pattern.substring(1, pattern.length-1);
        var reg    = new RegExp(pattern);
        if(!reg.test(value))
        {
            return false;
        }
    }
    // return an Element By id object for what id.
    this.$getElementById    = function(id)
    {
        var e    = document.getElementById(id);
        if(e!='undefined')
        {
            return e;
        }
        return;
    }
    // return an Element By name object for what id.
    this.$getElementsByName    = function(id)
    {
        var e    = document.getElementsByName(id);
        if(e!='undefined')
        {
            return e;
        }
        return;
    }
}

贴一张效果图片:

js中判断用户输入的值是否为空的简单实例

Javascript 相关文章推荐
js 代码优化点滴记录
Feb 19 Javascript
页面只能打开一次Cooike如何实现
Dec 04 Javascript
JS对HTML标签select的获取、添加、删除操作
Oct 17 Javascript
jQuery中的ajax async同步和异步详解
Sep 29 Javascript
javascript基础语法学习笔记
Jan 04 Javascript
浅析AngularJS中的指令
Mar 20 Javascript
bootstrap的工具提示实例代码
May 17 Javascript
基于input动态模糊查询的实现方法
Dec 12 Javascript
web前端vue之vuex单独一文件使用方式实例详解
Jan 11 Javascript
一次Webpack配置文件的分离实战记录
Nov 30 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
解决layer弹出层自适应页面大小的问题
Sep 16 Javascript
js中判断对象是否为空的三种实现方法
Dec 23 #Javascript
利用JS判断用户是否上网(连接网络)
Dec 23 #Javascript
js禁止回车提交表单的示例代码
Dec 23 #Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
Dec 23 #Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 #Javascript
判断客户浏览器是否支持cookie的示例代码
Dec 23 #Javascript
FireBug 调试JS入门教程 如何调试JS
Dec 23 #Javascript
You might like
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
清空上传控件input file的值
2010/07/03 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
js 实现 input type=&quot;file&quot; 文件上传示例代码
2013/08/07 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
Javascript的比较汇总
2016/07/25 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
python递归法解决棋盘分割问题
2019/07/17 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
python 5个实用的技巧
2020/09/27 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
经典优秀个人求职自荐信格式
2013/09/25 职场文书
婚假请假条格式及范文
2014/04/10 职场文书
党务公开方案
2014/05/06 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
Python Django项目和应用的创建详解
2021/11/27 Python