为什么需要表单验证?
1.避免信息无法更新或出现新错误
2.减轻服务器端的压力
String对象:
与Java语言中的String对象相似
创建字符串有两种:
1.使用var语句,并根据需要为其赋值
var newstr = "这是我写的脚本";
2.创建字符串对象
var newstr = new String("这是我写的脚本");
字符串属性:
常用属性只有一个,即:length 它表示字符串中的字符个数,包括符号如空格等。
var mytest="I love javascript!";
var mytestlength=mytest.length;
最后mytestlength返回mystest字符串的长度为18
字符串对象的方法:
方法名 |
说明 |
indexOf("子字符串",起始位置) |
查找子字符串的位置,这个位置是要
查找的文本出现的第一个位置 |
charAt(index) |
获取位于指定索引位置的字符 |
substring(index[,index2]) |
返回位于指定索引index1 和 index2之间的字符串,
并且包括索引index1所对应的字符,
不包含index2对应的字符 |
toLowerCase() |
将字符串转换成小写 |
toUpperCase() |
将字符串转换成大写 |
如何验证Email中,是否包含"@"符号:
var str="accp@163.com";
if(str.indexOf('@',0)==-1)
//indexOf方法,未找到返回-1
{
alert("不包含@符号");
}
文本框控件:
即:<input type="text">
文本框 |
事件 |
onBlur |
失去焦点事件,当光标离开某个文本框时触发 |
onFocus |
光标进入某个文本框 |
onChange |
文本框的内容被修改,即发生了改变 |
方法 |
focus() |
获得焦点,即获得鼠标光标 |
select() |
选中文本内容,突出显示输入区域 |
属性 |
value |
设置或获得一个文本框值属性的值 |
如何在表单提交时,验证信息:
function checkAll(){
if(checkEmail() && checkName()){
//验证Email和Name是否正确,如果都返回true,则真
return true;
}else{
return false;
}
}
<form name="myform" method="post" action="reg_success.html" onSubmit="return checkAll()">
……
<form>
onSubmit事件属于<form>表单元素,所以要写在<form>标签内
onSubmit="return checkAll()"将返回true/false
来决定是否提交表单
常见错误:
验证输入必须为a-z A-Z 0-9和下划线_
var fname = document.getElementByIdx_x_x("txtName").value;
for(var i=0;i<ftext.length;i++){
var ftext=fname.substring(i,i+1);
if((ftext>0 && ftext<9)
|| (ftext=='_') || (ftext>'a' && ftext<'z') || (ftext>'A'
&&
ftext<'Z')){
continue;
}else{
alert("输入错误");
document.getElementByIdx_x_x("txtName").select();
return false;
}
}
return true;
截取字符串substring方法: [ , )
var a="abcde";
var b = a.substring(1,2);
b的值为:"b"
包含左边的,不包含右边的,和Java一样
验证非空有两种方法:
if(str.length==0) 或者 if(str=="")
错误:<input type="button" name="btnLogin"
value="登录" onSubmit="return checkAll()">
1.type="submit"
2.onSubmit="return checkAll()"
应当写在<form>属性中