第6章+String、Math、Array等数据对象

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章String、Math、Array等数据对象JavaScript脚本提供丰富的内置对象,包括同基本数据类型相关的对象(如String、Boolean、Number)、允许创建用户自定义和组合类型的对象(如Object、Array)和其他能简化JavaScript操作的对象(如Math、Date、RegExp、Function)。其中RegExp对象将在“正则表达式”章节进行详细的叙述,本章从实际应用出发,详细讨论其余的JavaScript脚本内置对象。6.1String对象String对象是和原始字符串数据类型相对应的JavaScript脚本内置对象,属于JavaScript核心对象之一,主要提供诸多方法实现字符串检查、抽取子串、字符串连接、字符串分割等字符串相关操作。语法如下:varMyString=newString();varMyString=newString(string);该方法使用关键字new返回一个使用可选参数“string”字符串初始化的String对象的实例MyString,用于后续的字符串操作。6.1.1如何使用String对象方法操作字符串使用String对象的方法来操作目标对象并不操作对象本身,而只是返回包含操作结果的字符串。例如要设置改变某个字符串的值,必须要定义该字符串等于将对象实施某种操作的结果。考察如下将字符串转换为大写的程序代码://源程序6.1!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0//EN=Content-Typecontent=text/html;charset=gb2312titleSamplePage!/titlescriptlanguage=JavaScripttype=text/javascript!--functionStringTest(){varMyString=newString(WelcometoJavaScriptworld!);varmsg=原始字符串MyString:\nmsg+=MyString=+MyString+\n\n;MyString.toUpperCase();msg+=运行语句:MyString.toUpperCase():\n;msg+=MyString=+MyString+\n\n;MyString=MyString.toUpperCase();msg+=运行语句:MyString=MyString.toUpperCase():\n;msg+=MyString=+MyString+\n\n;alert(msg);}--/script/headbodycenterforminputtype=buttonvalue=调试对象按钮onclick=StringTest()/form/center/body/html程序运行结果如图6.1所示。图6.1如何使用String对象的方法实例调用String对象的方法语句MyString.toUpperCase()运行后,并没有改变字符串MyString的内容,要使用String对象的toUpperCase()方法改变字符串MyString的内容,必须将使用toUpperCase()方法操作字符串的结果返回给原字符串:MyString=MyString.toUpperCase();通过以上语句操作字符串后,字符串的内容才真正被改变。String对象的其他方法也具有此种特性。注意:String对象的toLowerCase()方法与toUpperCase()方法的语法相同、作用类似,不同点在于前者将目标串中所有字符转换为小写状态并返回结果给新的字符串。在表单数据验证时,如果文本域不考虑大小写,可先将其全部字符转换为小写(当然也可大写)状态再进行相关验证操作。6.1.2获取目标字符串长度字符串的长度length作为String对象的唯一属性,且为只读属性,它返回目标字符串(包含字符串里面的空格)所包含的字符数。改写源程序6.1的StringTest()函数:functionStringTest(){varMyString=newString(WelcometoJavaScriptworld!);varstrLength=MyString.length;varmsg=获取目标字符串的长度:\n\nmsg+=访问方法:varstrLength=MyString.length\n\n;msg+=原始字符串内容:+MyString+\n;msg+=原始字符串长度:+strLength+\n\n;MyString=ThisistheNewstring!;strLength=MyString.length;msg+=改变内容的字符串内容:+MyString+\n;msg+=改变内容的字符串长度:+strLength+\n;alert(msg);}程序运行结果如图6.2所示。图6.2获取目标字符串的长度其中脚本语句:strLength=MyString.length;将MyString的length属性保存在变量strLength中,并且其值随着字符串内容的变化自动更新。6.1.3连接两个字符串String对象的concat()方法能将作为参数传入的字符串加入到调用该方法的字符串的末尾并将结果返回给新的字符串,语法如下:newString=targetString.concat(anotherString);改写源程序6.1的StringTest()函数如下:functionStringTest(){//定义两个String对象的实例vartargetString=newString(Welcometo);varstrToBeAdded=newString(theworld!);//调用String对象的方法连接字符串varfinalString=targetString.concat(strToBeAdded);//输出返回的新字符串内容varmsg=\n连接字符串实例:\n\n;msg+=当前目标字符串:+targetString+\n;msg+=被连接的字符串:+strToBeAdded+\n;msg+=连接后的字符串:+finalString+\n;alert(msg);}程序运行结果如图6.3所示。图6.3字符串连接实例连接字符串的核心语句:varfinalString=targetString.concat(strToBeAdded);该代码运行后,将字符串strToBeAdded添加到字符串targetString的后面,并将生成的新字符串赋值给finalString,连接过程并不改变字符串strToBeAdded和targetString的值。JavaScript脚本中,也可通过如下的方法实现同样的功能:varfinalString=Welcometo+theworld!;varfinalString=Welcometo.concat(theworld!);varfinalString=Welcometo.concat(the,world!);String对象的concat()方法可接受任意数目的参数字符串,并按顺序将它们连接起来添加到调用该方法的字符串后面,并将结果返回给新字符串。6.1.4验证邮箱地址合法性在Web应用程序中,经常通过邮箱来进行网站与用户之间的信息交互,如网站通过注册用户的邮箱地址给该用户传递昀新资讯。在注册该网站通行证的时候,一般都需提交用户的邮箱信息,此时,必须验证邮箱地址的有效性来保证信息交互的有效进行。String对象的indexOf()方法返回通过参数传入的字符串出现的开始位置,而邮箱地址必为类似于username@website.com的结构,在用户提交的标记为邮箱地址的字符串中,通过indexOf(@)和indexOf(.)方法返回值可以判断邮箱地址的有效性。考察如下代码://源程序6.2!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0//EN=Content-Typecontent=text/html;charset=gb2312titleSamplePage!/titlescriptlanguage=JavaScripttype=text/javascript!--functionEmailAddressTest(){//获取用户输入的邮箱地址相关信息varEmailString=document.MyForm.MyEmail.value;varstrLength=EmailString.length;varindex1=EmailString.indexOf(@);varindex2=EmailString.indexOf(.,index1);varmsg=验证邮箱地址实例:\n\n;msg+=邮箱地址:+EmailString+\n;msg+=验证信息:;//返回相关验证信息if(index1==-1||index2==-1||index2=index1+1||index1==0||index2==strLength-1){msg+=邮箱地址不合法!\n\nmsg+=不能同时满足如下条件:\n;msg+=1、邮件地址中同时含有'@'和'.'字符;\n;msg+=2、'@'后必须有'.',且中间至少间隔一个字符;\nmsg+=3、'@'不为第一个字符,'.'不为最后一个字符。\n}else{msg+=邮箱地址合法!\n\n;msg+=能同时满足如下条件:\n;msg+=1、邮件地址中同时含有'@'和'.'字符;\n;msg+=2、'@'后必须有'.',且中间至少间隔一个字符;\nmsg+=3、'@'不为第一个字符,'.'不为最后一个字符。\n}alert(msg);}--/script/headbodybrcenterformname=MyForm邮箱地址:inputtype=textname=MyEmailid=MyEmailvalue=@inputtype=buttonvalue=验证邮箱地址onclick=EmailAddressTest()/form/center/body/html运行上述代码,当文本框中输入zangpu@gmail.com等格式合法的邮箱地址时,弹出对话框提示输入的邮箱地址合法,如图6.4所示。图6.4验证邮箱地址:输入zangpu@gmail.com当文本框中输入“zangpu@gmail”、“gmail.com”、“gmail.com@zangpu”、“@gmail.com”、“zangpu@gmail.”、“zangpu”、“zangpu@.com”等格式不合法的邮箱地址时,弹出对话框提示示输入的邮箱地址不合法,如图6.5所示。图6.5验证邮箱地址:输入@gmail.com脚本代码中核心的语句:varindex1=EmailString.indexOf(@);varindex2=EmailString.indexOf(.,index1);第一句获取目标字符串中'@'字符(也可为字符串)昀先出现的位置并将结果返回index1变量,返回-1表示未搜索到该字符;第二句从index1变量(即'@'字符后面开始)指定的位置开始搜索'.'字符昀先出现的位置,并将结果返回index2变量,返回-1表示未搜索到该字符,以确保在'@'字符后面存在'.'字符。判断语句:if(index1==-1||index2==-1||index2=index1+1||index1==0|

1 / 56
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功