html5验证

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head lang="en">  
  4.     <meta charset="UTF-8">  
  5.     <title></title>  
  6. </head>  
  7. <body>  
  8. <header>  
  9.     <h3>用户注册</h3>  
  10. </header>  
  11. <nav>  
  12.     <span style="color: #666; font-size: 14px">已有账号?</span><a href="#">去登录?</a><p></p><p></p>  
  13. </nav>  
  14. <section>  
  15.     <fieldset>  
  16.         <legend>请正确填写相关信息</legend>  
  17.         <form action="#" method="post" autocomplete="on">  
  18.           <p><span style="letter-spacing: 1.3em">真实姓</span>名:<label><input type="text" required name="name" pattern="[\u4e00-\u9fa5]{2,}"  oninvalid="validatelt(this,'真实姓名必须是中文,且长度不小于2')"/></label></p>  
  19.             <!-- require属性,规定必须在提交之前填写输入域(不能为空)-->  
  20.             <!-- pattern属性,描述了一个正则表达式用于验证 <input> 元素的值-->  
  21.             <!-- required属性,要求该输入域不能为空 -->  
  22.             <p><span style="letter-spacing:6em"></span>称:<label><input type="text" placeholder="该昵称用于登录" required name="nichen"/></label></p>  
  23.             <!-- placeholder属性,用于对该输入框的提示内容-->
  24.     <!-- oninvalid时html5提供的方法,当验证不通过时执行 --> 
  25.             <p><span style="letter-spacing: 1.3em">登录密</span>码:<label><input type="password" pattern="[A-Za-z0-9]{6,30}" name="password" oninvalid="validatelt(this,'密码长度至少为六位,且不能有中文')" /></label></p>  
  26.             <p><span style="letter-spacing: 6em"></span>别:<label>  
  27.                 <input type="radio" name="sex" value="man" />男:</label>  
  28.                 <input type="radio" name="sex" value="women"/>女:</label>  
  29.             </p>  
  30.             <p><span style="letter-spacing: 1.3em">出生日</span>期:<label><input type="date" name="birthday" max="2016/7/10" required/></label></p>  
  31.             <p><span style="letter-spacing: 1.3em">电子邮</span>箱:<label><input name="email" type="email" required/></label></p>  
  32.             <p><span style="letter-spacing: 1.3em">联系电</span>话:<label><input name="phone" type="text"  required  pattern="1[34578]\d{9}$"  oninvalid="validatelt(this,'电话号只能是11位的整数')" /></label></p>  
  33.             <p><span>选择你喜欢的颜色:</span><label><input name="color" type="color" required/></label></p>  
  34.             <input type="submit"/>  
  35.         </form>  
  36.     </fieldset>  
  37. </section>  
  38. <footer>  
  39.     <hr/>  
  40.     底部栏  
  41. </footer>  
  42. </body>  
  43. <script>  
  44.     //对悬浮窗的设置  
  45.     function validatelt(inputelement,err){  
  46.         if(inputelement.validity.patternMismatch){  
  47.             inputelement.setCustomValidity(err);  
  48.             //错误后就清空,不过执行顺序有点问题就不要了  
  49. //                if(confirm("输入有误,是否清空此项?")){  
  50. //                    inputelement.value="";  
  51. //                }  
  52.         }else{  
  53.             inputelement.setCustomValidity("");  
  54.             return true;  
  55.         }  
  56.     }  
  57. </script>  
  58. </html>  
可以添加验证通过和不通过的样式

.form input:valid{

    background:url("../images/right1.png") no-repeat 210px 1px;
}


.form input:focus:invalid{
    background:url("../images/error1.png") no-repeat 210px 0px;

};

  1. <html>  
  2. <head>  
  3.     <script type="text/javascript" src="jquery-1.9.0.min.js"></script>  
  4. </head>  
  5. <body>  
  6.     <form action="" id='submitform'>  
  7.         username: <br>  
  8.         <input type="text" name="username" value="" required="required"> <br>  
  9.         password: <br>  
  10.         <input type="text" name="password" value="" required="required"> <br><br>  
  11.         <input type="submit" value="Submit">  
  12.     </form>  
  13.     <script type="text/javascript" language="javascript">  
  14.         $("#submitform").on("submit", function(ev) {  
  15.             $.ajax({  
  16.                 ......  
  17.             });  
  18.             //阻止submit表单提交  
  19.             ev.preventDefault();  
  20.             //或者return false  
  21.             //return false;  
  22.         });  
  23.     </script>  
  24. </body>  
  25. </html> 

<!DOCTYPE html>

<html>

<head>

<metacharset="utf-8">

<title></title>

</head>

<body>

<formaction="#"method="post"onsubmit="return false">

<inputtype="text"name="mobile"id="mobile"placeholder="请输入手机号码"

pattern="^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$"oninvalid="validateIt(this,'手机号码格式错误')"oninput="validateIt(this,'手机号码格式错误')"required/>

<inputtype="text"name="age"id="address"placeholder="请输入地址"pattern="^.{5,200}$"oninvalid="validateIt(this,'地址不符合规范')"oninput="validateIt(this,'地址不符合规范')"required/>

<buttontype="submit"id="submit" >提交</button>

</form>

</body>

<scriptsrc="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<script>

functionvalidateIt(inputelement,errMsg){

if(inputelement.validity.patternMismatch){

inputelement.setCustomValidity(errMsg);

}else{

inputelement.setCustomValidity('');//输入内容符合验证条件

}

returntrue;

}

$(function() {

if ($("*:invalid") == 0) {

// 如果验证都通过,可以不通过表单

$("#submit").submit(function() {

$.ajax({

type:"post",

url:"你的地址",

data: $("form").serialize(),

async:true,

success:function(data) {

alert(data);

},

dataType:"json" // json 格式的返回值

});

});

}});

</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值