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的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 Javascript
CSS(js)限制页面显示的文本字符长度
Dec 27 Javascript
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
jquery1.10给新增元素绑定事件的方法
Mar 06 Javascript
jQuery多个input求和的实现方法
Feb 12 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
vue双花括号的使用方法 附练习题
Nov 07 Javascript
AngularJS创建一个上传照片的指令实例代码
Feb 24 Javascript
vue 优化CDN加速的方法示例
Sep 19 Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 Javascript
vue开发移动端底部导航条功能
Apr 08 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
PHP4.04简明安装
2006/10/09 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
php实现数据库的增删改查
2017/02/26 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
python opencv实现切变换 不裁减图片
2018/07/26 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
python3使用GUI统计代码量
2019/09/18 Python
python生成任意频率正弦波方式
2020/02/25 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
C语言编程练习
2012/04/02 面试题
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
亮化工程实施方案
2014/03/17 职场文书
2014年中秋寄语
2014/08/11 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
学校法制宣传日活动总结
2014/11/01 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
Ruby处理YAML和json数据
2022/04/18 Ruby
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL