Javascript表单验证

JavaScript表单验证:

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。

JavaScript验证内容:

  • 验证表单数据是否为空?
  • 验证输入是否是一个正确的email地址?
  • 验证日期是否输入正确?
  • 验证表单输入内容是否是为数字型?

逐个分析JavaScript表单验证内容:

  • 必填(或必选)项目

该验证用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题)。

JavaScript代码如下:

function validateForm()
{
  var x=document.forms["myForm"]["fname"].value;//获取要验证的input的内容
  if (x==null || x=="")
  {
    alert("姓必须填写");
    return false;
  }
}

以上函数在form表单提交时被调用。放在HTML代码中完整代码如下:

<form name="myForm" action="demo-form.php" onsubmit="return validateForm()" method="post">
姓: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
  • E-mail验证

该验证函数用来检查输入的数据是否符合电子邮件的基本语法。基本语法为输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号

JavaScript代码如下:

function validateForm(){
  var x=document.forms["myForm"]["email"].value;
  var atpos=x.indexOf("@");  //找到@符号所在的位置
  var dotpos=x.lastIndexOf(".");  //找到最后一个.所在的位置
  if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
    alert("不是一个有效的 e-mail 地址");
    return false;
  }
}

下面是连同HTML表单的完整代码:

<form name="myForm" action="demo-form.php" onsubmit="return validateForm();" method="post">
    Email: <input type="text" name="email">
    <input type="submit" value="提交">
</form>
  • 日期验证

JavaScript和HTML完整代码如下:


<body>

    输入您要验证的日期:<input type="text" id="date" name="date" /><br /><br />

    <input type="button" id="btnValid" value="验证日期格式" onclick="IsDate()" />

<script>

        /**判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期 */

        function IsDate() {

            //我们将在这个方法里面进行日期格式的检测

            //正则表达式

            var reg = /^(\d{4})-(\d{2})-(\d{2})$/;

            //输入的日期

            var str = document.getElementById("date").value;

            //用正则表达匹配

            var arr = reg.exec(str);

            if (str == "") {

                alert("请输入日期");

            }

            else if (!reg.test(str) && RegExp.$2 <= 12 && RegExp.$3 <= 31) {

                alert("请保证输入的为yyyy-mm-dd日期格式");

            } else {

                alert("日期格式正确");

            }

        }

    </script>


</body>
  • 数据域验证

JavaScript和HTML完整代码如下:

<form name="myForm" action="demo-form.php" onsubmit="return isNumber();" method="post">
    金额: <input type="text" name="account">
    <input type="submit" value="提交">
</form>

<script type = 'JavaScript'>
function isNumber(){
  var x=document.forms["myForm"]["account"].value;
   if (x==="" || x==null ){
    return false;
  }else if(!isNaN(x)){
      alert("请输入数字类型的字段");
  }else{
    return true;
  }
}
</script>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值