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 相关文章推荐
javascript 语法基础 想学习js的朋友可以看看
Dec 16 Javascript
基于jquery用于查询操作的实现代码
May 10 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
Sep 02 Javascript
jquery定时滑出可最小化的底部提示层特效代码
Oct 02 Javascript
JavaScript日期时间格式化函数分享
May 05 Javascript
js中的setInterval和setTimeout使用实例
May 09 Javascript
JavaScript中String.match()方法的使用详解
Jun 06 Javascript
浅谈Angularjs link和compile的使用区别
Oct 21 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
Oct 16 Javascript
JS中常用的消息框总结
Feb 24 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
脚手架vue-cli工程webpack的作用和特点
Sep 29 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
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
详解php反序列化
2020/06/10 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
用JQuery调用Session的实现代码
2010/10/29 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
Python连接数据库学习之DB-API详解
2017/02/07 Python
Python常用的json标准库
2019/02/19 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
参观考察邀请函范文
2014/01/29 职场文书
自动一体化专业求职信
2014/03/15 职场文书
研讨会主持词
2014/04/02 职场文书
遗产继承公证书
2014/04/09 职场文书
阳光体育活动总结
2014/04/30 职场文书
校园安全标语
2014/06/07 职场文书
委托书的写法
2014/08/30 职场文书
委托书的样本
2015/01/28 职场文书
2016教师节感恩话语
2015/12/09 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
2019军训心得体会
2019/06/27 职场文书
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL
MySQL约束(创建表时的各种条件说明)
2022/06/21 MySQL