进行表单是在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); }