在许多的网站都会有一些注册页面需要用户去注册,所以就需要对表单进行一个校验处理。
比如用户名不能为空,两次输入的密码必须一致,邮箱的格式必须为abcdefg@xx.com等等的一些形式。下面就表单的页面校验进行两种校验的方式。
1.表单弹框校验:
当用户未输入完信息点击注册按钮时,会弹出一个警告框“用户ing不能为空”,“两次输入的密码不一致”等等提示语。
那么就要涉及到事件。因为表单涉及到提交按钮,所以用onsubmit事件并且添加到<form>标签中
<form action="#" method="get" name="regForm" onsubmit="return checkForm()">
//return checkForm()函数名可由编码者自行定义。
并为某个输入框(用户名输入框,密码输入框)命ID名字,以便用JS代码能获取值
<input type="text" name="user" size="34px" id="user"/>
以上是事件插入的地方,下面是js代码的介绍:
为输入框命名后,就需要拿到输入框的值:
function return checkForm(){
var a = document.getElementById("user").value;
}
document.getElementById("").value;
//用于获取某某ID的值,还可以获取图片地址的其他属性。
①下面就是进行用户名判断:
if(a==""){
alert("用户名不能为空!");
return false;
}
与C语言类似,判断语句也是用if......else,等于用两个等号进行;
判断是否为空,就直接用两个双引号即可。
②然后是二次确认密码框的判断:
var mima1 = document.getElementById("password").value;
......//对第一次输入的密码进行是否为空判断,与用户名是否为空判断一致。
var mima2 = document.getElementById("passwordagain").value;
if(mima1!=mima2){//直接用变量进行比较与C语言类似。
alert("两次输入的密码不一致");
return false;
}
③邮箱的判断:
var youxiang = document.getElementById("eamil").value;
if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(youxiang)){
alert("邮箱格式不正确!");
return false;
}
该处涉及到正则表达式:
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
一般的判断形式(否定判断,不等于):
if(!.........<一堆乱七八糟的东西有资料可查阅的>.text(定义的变量));
常用的正则表达式都可在网上以及W3school进行查阅。
2.填写框右侧显示提示信息:
而本页面用到的事件为聚焦:onfocus(鼠标点击后),移焦:onblur(鼠标移开后)
Html代码:
<input type="text" id="user" onfocus="showTips('user','用户名必填!')" onblur="check('user','用户名不能为空!')"/><span id="userspan"></span>
在输入框后添加了一个<span>标签,能让显示的内容写在<span>标签中。
涉及传递参数。以前的事件函数括号内都为空,而这次使用传递参数。需要用单引号括起来。
JS代码:
function showTips(id,info){
document.getElementById(id+"span").innerHTML="<font color='gray'>"+info+"</font>";
}
因为在JS中
showTips(id,info):有两个参数,id和info(内容)
所以在HTML的代码中就会出现:showTips('user','用户名必填!')
function check(id,info){
//1.获取用户输入的用户名数据
var uValue = document.getElementById(id).value;
//2.进行校验
if(uValue==""){
document.getElementById(id+"span").innerHTML="<font color='red'>"+info+"</font>";
}else{
document.getElementById(id+"span").innerHTML="";
}
}
该代码为检验操作若uValue(用户名)为空显示红色字体:用户名必填;
若用户名不为空则显示空(用两个双引号)。
类似的检验密码代码也是如此。
小结:
①获取元素:
document.getElmentById("");
获取元素的值:
document.getElmentById("")。value;
②传递参数:
根据function xx()括号中有几个参数对应Html中绑定的的事件就要有几个信息。
事件: onfocus="showTips('user','用户名必填!')
函数: function check(id,info)