JS实现表单验证功能(验证手机号是否存在,验证码倒计时)


Posted in Javascript onOctober 11, 2016

废话不多说直接上代码

html代码:

<form method="post" id="form_hroizon" enctype="multipart/form-data" action="/">
<input type="hidden" name="phoneTemplet" id="phoneTemplet">
<input type="hidden" name="regType" id="regType">
<div class="c-login-input">
<div class="form-group">
<label for="inputEmail3" class="label-control label-width120 pull-left t-r-f f16">手机号</label>
<div class="pull-left">
<input type="tel" autocomplete="off" class="input-control put-width440 j-telphone" id="inputtel" name="phones" placeholder="请输入您的电话号码" value="">
<span class="f12 red tel-msg"></span>
<div class="c-login-errtips" style="display:none;"></div>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="label-control label-width120 pull-left t-r-f f16">登录密码</label>
<div class="pull-left">
<input type="password" class="input-control put-width440 fistpwd" id="inputpwd" name="password" placeholder="请输入密码" value="">
<span class="f12 red pwd-msg"></span>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="label-control label-width120 pull-left t-r-f f16">验证码</label>
<div class="pull-left">
<input type="tel" class="input-control put-with100 vericode" id="inputEmail3" name="code" placeholder="请输入验证码">
<input id="btnSendCode" type="button" value="免费获取验证码" class="j-getcode f12 b-i-k btn code-btn c-p" />
<span class="f12 red code-msg"></span>
</div>
</div>
</div>
<div class="form-group">
<a class="j-sends" type="submit" name="submit" target="_self" href="javascript:void(0)">注册</a>
</div>
</form>

JS代码:

<script type="text/javascript">
$(function(){
$(".j-sends").click(function(){
var phones = $.trim($(".j-telphone").val());
var isMobile=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!phones){
$('.tel-msg').text('请输入手机号码,不能为空');
return false;
}else if (!isMobile.test(phones)) {
$('.tel-msg').text('请输入有效的手机号码');
return false;
}else{
//手机号码是否存在
$.ajax({
url : "/", //
type:"post",
dataType:"JSON",
data:{
phones: phones,
}, 
contentType:'application/json;charset=UTF-8', 
//async: false,
success:function(data){
if (data.flag == "1") { //
$('.tel-msg').html(data.errorInfo); //
return false;
}else{
$('.tel-msg').html(data.errorInfo); //可
}
},
error:function(){
}
}); 
}
})
//验证码倒计时 
var InterValObj; //timer变量,控制时间 
var count = 30; //间隔函数,1秒执行 
var curCount;//当前剩余秒数 
var code = ""; //验证码 
var regType;
var phoneTemplet;
var codeLength = 4;//验证码长度 
$(".code-btn").click(function(){
curCount = count; 
var phone=$.trim($(".j-telphone").val());//手机号码 
var isMobile=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
var jtel = $(".j-telphone");
if(phone != "" && isMobile.test(phone) && phone.length==11){ 
//设置button效果,开始计时 
$("#btnSendCode").attr("disabled", "true"); 
$("#btnSendCode").val("请在" + curCount + "秒内输入验证码"); 
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 
//产生验证码 
for (var i = 0; i < codeLength; i++) { 
code += parseInt(Math.random() * 9).toString(); 
} 
//向后台获验证码 
$.ajax({ 
url : base + "/", 
type: "POST",
// dataType: "text", 
// data: "phones=" + phone + "&code=" + code, 
dataType: "JSON",
data:{
phones:phone,
code: code,
regType:"1",
phoneTemplet:"phone_uc"
},
success: function (data){
if(data.flag=="F"){
$(".code-msg").html(data.errorInfo); 
}else{
$(".code-msg").html(data.errorInfo);
}
} 
}); 
}else{ 
$('.tel-msg').text('请输入有效的手机号码'); 
} 
});
//timer处理函数 
function SetRemainTime() { 
if (curCount == 0) { 
window.clearInterval(InterValObj);//停止计时器 
$("#btnSendCode").removeAttr("disabled");//启用按钮 
$("#btnSendCode").val("重新发送验证码"); 
code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 
} 
else { 
curCount--; 
$("#btnSendCode").val("请在" + curCount + "秒内输入验证码"); 
} 
} 
})
</script>

以上所述是小编给大家介绍的JS实现表单验证功能(验证手机号是否存在,验证码倒计时),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
jQuery查询数据返回object和字符串影响原因是什么
Aug 09 Javascript
jQuery 事件的命名空间简单了解
Nov 22 Javascript
js实现简单的购物车有图有代码
May 26 Javascript
js判断是否按下了Shift键的方法
Jan 27 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
Mar 28 Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 Javascript
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 Javascript
vue渲染时闪烁{{}}的问题及解决方法
Mar 28 Javascript
详解vue 自定义marquee无缝滚动组件
Apr 09 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 #Javascript
javascript 动态样式添加的简单实现
Oct 11 #Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
Oct 11 #Javascript
javascript 动态脚本添加的简单方法
Oct 11 #Javascript
js HTML5上传示例代码完整版
Oct 10 #Javascript
JavaScript  event对象整理及详细介绍
Oct 10 #Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 #Javascript
You might like
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
js读取本地文件的实例
2017/12/22 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
使用Python对MySQL数据操作
2017/04/06 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
python 爬取小说并下载的示例
2020/12/07 Python
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
软件缺陷的分类都有哪些
2014/08/22 面试题
求职简历中自我评价
2014/01/28 职场文书
法律进企业活动方案
2014/03/04 职场文书
干部个人对照检查材料
2014/08/25 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
学习三严三实心得体会
2014/10/13 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
禁毒主题班会教案
2015/08/14 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书