表单验证

进行表单是在client进行的,当点击提交时触发表单的onsubmit方法。

String对象属性:length,字符串的长度。方法,toLowerCase(),转换为小写、toUpperCase(),转换为大写、charAt(index),返回在指定位置的字符、indexOf(字符串,index),查找字符串首次出现的位置(index指開始查找的位置,一般从0開始)、substring(index1,index2),截取子字符串。

制作输入提示特效的思路:HTML DOM将文本框看做一个对象TextBox,他有事件onblur即失去焦点事件,对于文本框后的提示能够使用div使用它的innerHTML属性显示提示信息。

Textbox对象的属性:value,文本框内容。方法:blur(),从文本域中移开焦点、focus(),在文本域中设置焦点。select(),选取文本域中的内容。事件:onblur,失去焦点、onfocus,获得焦点、onkeypress,键盘按下。

符号

描写叙述

  ^

匹配字符串的開始

 $

匹配字符串的结束

\s

不论什么空白字符

\S

不论什么非空白字符

\d

匹配一个数字字符,等价于[0-9]

\D

除了数字之外的不论什么字符,等价于[^0-9]

\w

匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9]

\W

不论什么非单字字符,等价于[^a-Za-z0-9]

.

除了换行符之外的随意字符。

符号

描写叙述

{n}

匹配前一项n次

{n,}

匹配前一项至少n次

{n,m}

匹配前一项至少n次但不能超过m次

*

匹配前一项0次或多次,等价于{0,}

+

匹配前一项1次或多次,等价于{1,}

?

匹配前一项0次或1次,也就是说前一项

是可选的,等价于{0,1}.




比如:[email protected]邮箱的正則表達式为:^\w+@\w+\.[a-zA-Z]{2,3}$

可是对于[email protected]邮箱的正則表達式为:^\w+@\w+\.[a-zA-Z]{2,3}(\.[a-zA-Z]{2,3})?$

javascript中创建正則表達式对象RegExp。

创建正則表達式对象,

方法一:var reg1 = new RegExp(/正則表達式/);

方法二:var reg2 = new PegExp("要匹配的字符串","參数");(參数有三个值:i,表示忽略大写和小写;g,表示全局查找;m,表示多行查找)。

RegExp对象的方法:test(要验证的字符串)方法,用来验证目标字符串是否符合正則表達式的规则。

比如:var regQQ = /^\d{5,12}$/; var strQQ = “55”; var result =regQQ.test(strQQ);

电子邮件:
    <input id="email" type="text" class="inputs" onblur="checkEmail()" /><div id="email_prompt" class="prompt"></div>

<script type="text/javascript">
function checkEmail(){
var email=document.getElementById("email").value;
var email_prompt=document.getElementById("email_prompt");
email_prompt.innerHTML="";
var reg=/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;	
    if(reg.test(email)==false){
	email_prompt.innerHTML="电子邮件格式不对,请又一次输入";
	return false;
	  }
	  return true;
}
</script>

固定电话:<input id="photo" type="text" class="inputs" onblur="checkPhoto()" /><div id="photo_prompt" class="prompt"></div>
<script type ="text/javascript>
function checkPhoto(){
var photo=document.getElementById("photo").value;
var photo_prompt=document.getElementById("photo_prompt");
photo_prompt.innerHTML="";	
var reg=/^\d{3,4}-\d{7,8}$/;	
    if(reg.test(photo)==false){
	photo_prompt.innerHTML="输入的固定电话不对,请又一次输入";
	return false;
	  }
	  return true;
	}
</script>
String对象支持正則表達式的方法:1、search(正則表達式):返回匹配的位置。2、match(正則表達式):返回匹配的字符串。3、replace(正則表達式,替换字符串):返回替换后的结果。

将变量转换成正則表達式的方法:var wordText =document.getElementById("wordText").value;

var findText = document.getElementById(“findText”).value;

var reg = eval(“/”+findText+”/ig”); 这里eval的意思是运行该语句。

function $(objID){
	return document.getElementById(objID);
}

function  findString(){
	var findText=$("findText").value;
	var wordText=$("wordText").value;
	var reg=eval("/"+findText+"/ig");  //忽略大写和小写,全局查找(重复查找)
	var resultArray=wordText.match(reg);
	alert("查找结果:"+resultArray);
}

function  replaceString(){
	var findText=$("findText").value;
	var replaceText=$("replaceText").value;
	var wordText=$("wordText").value;
	var reg=eval("/"+findText+"/ig");  //忽略大写和小写,全局查找(重复查找)
	var resultArray=wordText.replace(reg,replaceText);
	alert("替换结果:"+resultArray);
}



你可能感兴趣的:(表单验证)