HTML,JS信息表单注册,点击获取验证码

20 篇文章 2 订阅

HTML,JS信息表单注册,点击获取验证码

效果图
信息注册表单
效果演示

HTML,js信息注册表单获取验证码

HTML代码

<div class="modal_content">		
	<h5>绑定手机号</h5>
	<div>
		<label for="phone1">注册手机号:</label><br />
		<input id="phone1" type="text" autocomplete="off" placeholder="请输入手机号"/>				
	</div> 
	<div>
		<label for="code1">验证码:</label>
		<div class="code1">
			<input id="code1" type="text" autocomplete="off" placeholder="短信验证码"/>				
			<input id="btnSendCode1" type="button" class="btn btn-default" value="获取验证码" onClick="sendMessage1()" />
		</div>				
	</div> 	
	<div class="next">  			
		<button onClick="binding()">确定</button>
	</div>
</div>

css样式

body{margin:0;padding:0}
.modal_content{width:500px;margin:50px auto 0;padding:30px;display:flex;justify-content:center;flex-direction:column;box-sizing:border-box;padding:30px;border:1px solid #ddd}
.modal_content>div{margin-bottom:20px}
.modal_content>h5:first-child{margin:30px 0;font-size: 18px;color: #d6061c;font-weight: bold;}
#dialog label{color:#666}
#phone1{display:block;width:100%;height:70px;background:0 0;padding-top:30px;border:0;outline:0;margin-top:-30px;font-size:16px;border-bottom:1px solid rgba(0,0,0,.2);border-radius:0}
.code1{display:flex;flex-direction:row;justify-content:space-between;width:100%;height:70px;background:0 0;padding-top:30px;margin-top:-30px;font-size:16px;border-bottom:1px solid rgba(0,0,0,.2);border-radius:0}
#code1{width:calc(100% - 90px);height:55px;background:0 0;padding-top:20px;border:0;outline:0;margin-top:-20px;font-size:16px}
#btnSendCode1{width:90px;height:30px;padding:0 5px;margin:0;font-size:14px;background:0 0;border-radius:30px;color:#a07941;border-color:#a07941;outline:0}
::-webkit-input-placeholder{font-size:14px;color:rgba(0,0,0,.4)}
:-moz-placeholder{font-size:14px;color:rgba(0,0,0,.4)}
::-moz-placeholder{font-size:14px;color:rgba(0,0,0,.4)}
:-ms-input-placeholder{font-size:14px;color:rgba(0,0,0,.4)}
.next{text-align:center;margin:20px 0}
.next button{width:140px;height:40px;padding:0;margin:auto;background:#007bff;color:#fff;border:0;outline:0;border-radius:3px}

JS代码

var phoneReg = /(^1[3|4|5|7|8]\d{9}$)|(^09\d{8}$)/;//手机号正则 
var count = 60; //间隔函数,1秒执行
var InterValObj1; //timer变量,控制时间
var curCount1;//当前剩余秒数
/*判断输入的手机号*/
function sendMessage1() {
	curCount1 = count;		 		 
	var phone = $.trim($('#phone1').val());
	if (!phoneReg.test(phone)) {
		alert(" 请输入有效的手机号码"); 
		return false;
	}
	//设置button效果,开始计时
	$("#btnSendCode1").attr("disabled", "true");
	$("#btnSendCode1").val( + curCount1 + "秒再获取");
	InterValObj1 = window.setInterval(SetRemainTime1, 1000); //启动计时器,1秒执行一次
	//向后台发送处理数据
		 
}
function SetRemainTime1() {
	if (curCount1 == 0) {                
		window.clearInterval(InterValObj1);//停止计时器
		$("#btnSendCode1").removeAttr("disabled");//启用按钮
		$("#btnSendCode1").val("重新发送");
	}
	else {
		curCount1--;
		$("#btnSendCode1").val( + curCount1 + "秒再获取");
	}
} 

/*提交*/
function binding(){
	alert('请输入验证码!')
}
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
表单验证带验证码的实现步骤如下: 1. HTML部分:在表单中添加验证码输入框和验证码图片 ```html <form id="myForm" method="post"> <input type="text" name="username" placeholder="用户名"><br> <input type="password" name="password" placeholder="密码"><br> <input type="text" name="captcha" placeholder="验证码"><br> <img id="captchaImg" src="captcha.php" onclick="this.src='captcha.php?'+Math.random()" alt="验证码"><br> <input type="submit" value="提交"> </form> ``` 其中,验证码图片的src属性指向一个生成验证码的PHP脚本,点击图片会刷新验证码。 2. JS部分:在表单提交时进行验证 ```javascript document.getElementById("myForm").onsubmit = function() { // 验证码验证 var captchaInput = document.getElementsByName("captcha")[0]; var captchaImg = document.getElementById("captchaImg"); if (captchaInput.value.toLowerCase() != captchaImg.getAttribute("data-captcha").toLowerCase()) { alert("验证码错误!"); captchaInput.value = ""; captchaInput.focus(); return false; } // 用户名和密码验证 var username = document.getElementsByName("username")[0]; var password = document.getElementsByName("password")[0]; if (username.value == "") { alert("请输入用户名!"); username.focus(); return false; } if (password.value == "") { alert("请输入密码!"); password.focus(); return false; } // 表单提交 return true; } // 生成验证码 function generateCaptcha() { var captchaImg = document.getElementById("captchaImg"); var xhr = new XMLHttpRequest(); xhr.open("GET", "captcha.php", true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { captchaImg.src = xhr.responseText; captchaImg.setAttribute("data-captcha", xhr.getResponseHeader("X-Captcha")); } }; xhr.send(); } // 页面加载时生成验证码 window.onload = generateCaptcha; ``` 在表单提交时,首先验证验证码是否正确,如果错误则弹出提示并清空验证码输入框;如果正确则继续验证用户名和密码是否为空。如果用户名或密码为空则弹出提示并将焦点设置到相应的输入框,否则提交表单。 在生成验证码的函数中,使用XMLHttpRequest对象向服务器请求生成验证码的PHP脚本,获取响应后更新验证码图片的src属性并将正确的验证码存储在data-captcha属性中,以便在表单提交时进行验证。 注意:在服务器端生成验证码时,需要将正确的验证码存储在HTTP响应头的X-Captcha字段中,以便客户端获取并验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值