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 相关文章推荐
xml 与javascript结合的问题解决方法
Mar 24 Javascript
jquery text()要注意啦
Oct 30 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
Sep 13 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
May 12 Javascript
jquery判断浏览器后退时候弹出消息的方法
Aug 11 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
JS脚本实现动态给标签控件添加事件的方法
Jun 02 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
Jun 23 Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 Javascript
微信小程序 Flex布局详解
Oct 09 Javascript
JavaScript语句错误throw、try及catch实例解析
Aug 18 Javascript
Vue+element+cookie记住密码功能的简单实现方法
Sep 20 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实现webservice实例
2014/11/06 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
js querySelector和getElementById通过id获取元素的区别
2012/04/20 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
DOM事件探秘篇
2017/02/15 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
Python正则捕获操作示例
2017/08/19 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
python实现最长公共子序列
2018/05/22 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
大型活动策划方案
2014/01/12 职场文书
四下基层实施方案
2014/03/28 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
工程项目合作意向书
2015/05/08 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python