js

您所在的位置:网站首页 p站app注册输昵称的时候失败 js

js

2023-11-16 04:16| 来源: 网络整理| 查看: 265

这是在经过断断续续学习html、css和js后,写的第一个算是比较完善,依然比较初级的小案例,用户注册界面,其中用的html以及css知识都比较少,主要是js代码中各种【验证功能】实现。 html部分:标题+form表单+table表格的运用。另外在head部分写入少量的css样式,以及部分js代码。该页面并没有连接数据库对数据进行提交处理。 下图就是完成界面展示。 在这里插入图片描述 用户在注册时,按照要求即可注册,分别需要填写用户名、密码、确认、邮箱、手机号、性别、爱好、籍贯、个人介绍、以及验证码、是否同意本公司协议,除了个人介绍可以不用填写外。其他都需要进行填写或则选择,只有这些都选择过后才能够点击注册按钮,否则注册按钮为不可读属性,此外验证码需要在页面加载时就进行实现,通过onload属性即可完成。如图所示: 在这里插入图片描述 其中如红色提示等信息提示,是在各种input、select标签后添加span标签,在标签中能够填充其他展示内容。 每当用户填写一个数据,点击其他地方时,就会触发失去焦点事件,“onblur”,这个input的属性在这个案例中应用十分重要! 每当失去焦点,就要触发onblur所代表的函数或者事件。 这些事件大多数都是验证事件! 验证事件的实现步骤为: 1.建立函数 2.获取用户输入或选择的信息 3.创建校验规则(符合条件的是特殊的,不符合条件则有各种各样的情况,因此设定条件反而会更简单些) 4.获取span对象 5.开始校验(校验情况分3中,当用户输入为空值、当用户输入符合条件、用户输入不符合条件) 6.输出校验结果 在对几个信息进行校验后,就能够发现代码充裕率比较高,因此可以进行【封装校验】,设定一个函数,传递要校验的id、相应的校验规则,输出结果进行一定的变更即可,相应id的value+“通过”或者“不通过”即可。 因此在设定span的id时,同一设定为“**Span”,比如用户名id=“uname”,则span的id=“unameSpan”。 在爱好选择中,则需要对每一个爱好的选择进行事件触发。一旦有一个爱好被选择,即可通过校验,此时就需要获得爱好的所有选项,id是唯一的,但name可以多个标签公用,此时getElementByName,之后遍历数组,如果有一个爱好被选择,则该checked的值为1,就能通过校验,失去焦点后,触发校验事件,不通过校验的提示会一直显示,直到通过校验则立即返回。 在校验验证码时,需要获得codespan的innerHTML的值,将该值和用户输入值进行比较,相同则通过。 当开始注册按钮的属性disabled为不可读,只有当用户勾选同意协议时(checked值为true),变为可读(disabled值为false),此时二者正好相反。 再点击提交按钮时,需要进行时间阻断,触发之前定义的所有校验事件,只有之前的校验事件全部通过,该submit才能够实现。οnsubmit=“return checkSub()”

注册界面 body{background: url(img/a.jpg) no-repeat center 0}; font{color="darkgray"}; tr{height:60px} //常见验证码 function createCode(){ //创建随机4位数字,math.floor向下取整 var code=Math.floor(Math.random()*9000+1000); //获取元素对象 var span=document.getElementById("codeSpan"); //将数字存放到span中 span.innerHTML=code; //给span添加背景图片 } //验证用户名 function checkUname(){ //获取用户获得用户名信息 var uname=document.getElementById("uname").value; //创建校验规则,用户名2-4个 var reg=/^[\u4e00-\u9fa5]{2,4}$/ //获取span对象 var unameSpan=document.getElementById("unameSpan"); //开始交验 if(unameSpan==""||unameSpan==null){ //输入校验结果 unameSpan.innerHTML="*用户名不能为空"; unameSpan.style.color="red"; return false; }else if(reg.test(uname)){ //输入校验结果 unameSpan.innerHTML="*用户名通过"; unameSpan.style.color="green"; return true; }else{ //输入校验结果 unameSpan.innerHTML="*用户名格式不符" unameSpan.style.color="red"; return false; } } //验证密码 function checkPwd(){ //获取用户获得用户名信息 var upwd=document.getElementById("pwd").value; //创建校验规则,密码要求6-8位,首位为字母,后面5-7位是数字 var reg=/^[a-z]\w{5,7}$/; //获取span对象 var span=document.getElementById("pwdSpan"); //开始交验 if(span==""||span==null){ //输入校验结果 span.innerHTML="*密码不能为空"; span.style.color="red"; return false; }else if(reg.test(upwd)){ //输入校验结果 span.innerHTML="*密码通过"; span.style.color="green"; return true; }else{ //输入校验结果 span.innerHTML="*密码格式不符" span.style.color="red"; return false; } //第一次密码为a123456,第二次密码为a1234567,则修改的第一次密码,确认密码也会重新校验 checkPwd2(); } //校验确认密码 function checkPwd2(){ //获取第一次校验密码 var pwd=document.getElementById("pwd").value; //获取确认密码 var pwd2=document.getElementById("pwd2").value; //获取span对象 var span=document.getElementById("pwd2Span"); //比较前两次密码是否相同 if( pwd2==""|| pwd2==null){ //输入校验结果 span.innerHTML="*密码不能为空"; span.style.color="red"; return false; }else if(pwd===pwd2){ //输入校验结果 span.innerHTML="*密码通过"; span.style.color="green"; return true; }else{ //输入校验结果 span.innerHTML="*密码不同,请重新输入" span.style.color="red"; return false; } } //校验手机号 function checkPhone(){ return checkField("phone",/^1[3456789]\d{9}$/); } //校验邮箱 function checkmail(){ return checkField("mail",/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/) } //校验籍贯 function checkAddress(){ //获取用户选择的数据 var sel=document.getElementById("address").value; //获取span var span=document.getElementById("addressSpan"); //校验,只要不为value="0"即可 if(sel!=0){ span.innerHTML="籍贯选择成功"; span.style.color="green"; return true; }else{ span.innerHTML="请选择籍贯"; span.style.color="red"; return false; } } //校验爱好选择 function checkFav(){ //获取所有的爱好 var favs=document.getElementsByName("fav"); //获取span对象 var span=document.getElementById("favSpan"); //遍历 for(var i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3