码迷,mamicode.com
首页 > 其他好文 > 详细

表单验证

时间:2014-08-09 16:02:18      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:javascript   js   表单   正则表达式   邮箱   

进行表单是在客户端进行的,当点击提交时触发表单的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}.




例如:ujnwanghualei@163.com邮箱的正则表达式为:^\w+@\w+\.[a-zA-Z]{2,3}$

但是对于xxx@yahoo.com.cn邮箱的正则表达式为:^\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);
}



表单验证,布布扣,bubuko.com

表单验证

标签:javascript   js   表单   正则表达式   邮箱   

原文地址:http://blog.csdn.net/u011740475/article/details/38455929

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!