- 7
- 0
- 约3.66千字
- 约 28页
- 2019-10-11 发布于广东
- 举报
8.5 String对象
字符串操作在实际开发中应用的可谓是最多的了。JavaScript的String对象为这些操作提供了丰富的功能,可以完成几乎是任意的操作,掌握这些方法可使你的编程更加容易,只需要调用String的一个方法就可以,而不用自己编写代码。
String对象提供了一个length属性,用于表示字符串的长度,即字符中字符的个数。
还提供了操作字符的各种方法,如果能够善于利用这些方法,就可以实现十分复杂的字符串操作。
String提供的方法如表8-5所示。
比如有以下这样的字符串username=cjh; expires= Thu, 31 Aug 2017 06:28:09 GMT; path=/;host=;,现在要取各键的值,即username,expires,path和host的值,也就是各自等号后面的值,该怎么办呢?
以username=cjh为例,其他都是同样的方法。方法如下:
◆ 第1步:通过indexOf(“username”)方法找到username的起始位置begin;
◆ 第2步:通过length属性得到“username”加上”=”的长度,假设为keylen,也就是确定username的值的起始位置。
◆ 第3步:通过indexOf(“;”, begin)求得结束位置keyend,即username的值的结束位置。
◆ 第4步:通过substring(begin + keylen, keyend)截取子串。截取到的子串即为username的值。
下面根据上面的分析进行代码实现,完整的代码如清单8-9所示。
(function(){})();这种语法表示定义一个匿名函数,并同时调用它(见5.5.2内联函数)。可以运行的源代码见Listing8-9.html。
关于字符串的操作需要熟练掌握String对象提供的方法,并能根据需要选用适合的方法进行组合实现要求的功能,这需要有一个锻炼的过程。
这一过程就是把问题转换成代码的过程,需要扎实的基础知识,还需要一个相当长的锻炼过程。
这个能力的培养不只是针对String这个知识点,全书都需要这样的能力。所有的编程语言都需要这种能力,大家应该好好培养。
8.6 RegExp对象
正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式由字符、元字符(有特定意义的字符)和规定的符号组成,常常用于数据检验和数据匹配。
这里并不讨论如何构造正则表达式,只讨论正则表达式的用法。
如果实际工作中需要用到某些正则表达式,可以通过网络搜索获得,但网络内容没有经过技术审核,请大家仔细甄别,经过验证后才可使用。
如果需要学习正则表达式的构造,请参考相关书箱或相关网站。
8.6.1 正则表达式的声明
声明正则表达式对象有两种方式,格式如下:
◆ /pattern/modifiers
◆ new RegExp(pattern, modifiers);
第一种方式是以斜线“/”开头并以“/”结尾,中间是符合正则表达式要求的正则表达式字符串pattern;
第二种方式是以RegExp的构造函数以new的方式创建,第一个参数pattern是符合要求的正则表达式。如果提供的正则表达式参数pattern不符合正则表达式的要求,则抛出SyntaxError异常。
modifiers参数用于对正则表达式匹配方式加以说明,可取的值和含义如下:
◆ i——匹配时忽略大小写。
◆ g——执行全局匹配(即匹配目标串中所有符合正则表达式的部分,而不会匹配一个后结束)。
◆ m——进行多行匹配。
例如,/ [\u4e00-\u9fa5]/g,这是匹配中文的正则表达式,匹配方式为全局匹配。等价的声明方法是new RegExp(“[\u4e00-\u9fa5]”, “g”)。
这两种方法的区别是,以//方式声明时正则表达式和匹配说明符都不加引号,而在RegExp声明时都需要加上引号。
8.6.2 正则表达式对象的属性和方法
正则表达式的属性可以了解正则表达式对象的本身的属性和匹配情况,正则表达式方法则用于将正则表达式与目标字符串进行匹配,根据返回结果,确定匹配情况。
正则表达式对象的属性如表8-6所示
表8-6 正则表达式对象的属性
属性
说明
constructor
返回创建RegExp对象的prototype 的函数。
global
返回全局匹配修饰符”g”的设置情况。
ignoreCase
返回忽略大小写的修饰符”i”的设置情况。
lastIndex
返回下一次匹配的起始位置。
multiline
返回多行匹配修饰符”m”的设置情况。
source
返回正则表达式对象的文本表示。
通过这些属性可以全面了解正则表达式对象的本身的情况,可以更好的在程序中操作该对象。
您可能关注的文档
- access2013数据库技术及应用(第2版)教学课件作者姜增如第6章.ppt
- access2013数据库技术及应用(第2版)教学课件作者姜增如第7章.ppt
- access2013数据库技术及应用(第2版)教学课件作者姜增如第8章.ppt
- access2013数据库技术及应用(第2版)教学课件作者姜增如第9章.ppt
- access2013数据库技术及应用(第2版)教学课件作者姜增如第10章.ppt
- access2013数据库技术及应用(第2版)教学课件作者姜增如目录.ppt
- access数据库应用教学课件作者郑明言1.ppt
- access数据库应用教学课件作者郑明言2.ppt
- access数据库应用教学课件作者郑明言3.ppt
- access数据库应用教学课件作者郑明言4.ppt
- 安徽省安庆市潜山市部分学校2025-2026学年七年级下学期阶段学情自测数学试题-普通用卷.docx
- 2026《微型无人机的设计基础综述》2600字.docx
- 安徽六安市金安区2025-2026学年八年级上学期2月期末物理试题-普通用卷.docx
- 2026《五菱汽车公司经营者股权激励实施成效及其启示》9700字.doc
- 北京市第一零九中学2026届高三下学期开学考试数学试题-普通用卷.docx
- 北京海淀实验中学2026届高三下学期数学开学检测试题-普通用卷.docx
- 2026《五菱汽车公司融资模式及融资风险分析》8700字.doc
- 2026《五菱汽车公司物流成本控制研究》文献综述开题报告(含提纲)3800字.doc
- 2026《五菱汽车公司薪酬改革问题研究》开题报告(文献综述)4200字.doc
- 2026《物流企业反内卷的战略转型研究—以顺丰控股为例》13000字.doc
最近下载
- 儿科学(第10版)儿童心肺复苏.pptx VIP
- 《第1课 身边的算法》说课稿教学反思-2023-2024学年小学信息技术浙教版2023五年级上册.docx VIP
- 2025-2026学年浙美版(新教材)小学美术三年级下册(全册)教学设计.docx
- 2025-2026年演出经纪人之演出市场政策与法律法规模拟题库及答案下载.pdf VIP
- 幼儿园教师春季卫生保健知识培训.pptx VIP
- 高速公路旧沥青路面铣刨料再生利用:技术、效益与前景.docx VIP
- 2025-2026学年浙美版(新教材)小学美术三年级下册《运动会奖杯设计》教学设计.docx VIP
- 2024 - 2025人教版(PEP)英语小学二年级下册教学计划 .docx VIP
- 2026年XX施工安全免责协议书.docx VIP
- DLT5300-2013 1000kV 架空输电线路工程施工质量检验及评定规程.docx VIP
原创力文档

文档评论(0)