JavaScript正则表达式完全学习手册.doc

上传人:wux****ua 文档编号:9516252 上传时间:2020-04-06 格式:DOC 页数:3 大小:24.50KB
返回 下载 相关 举报
JavaScript正则表达式完全学习手册.doc_第1页
第1页 / 共3页
JavaScript正则表达式完全学习手册.doc_第2页
第2页 / 共3页
JavaScript正则表达式完全学习手册.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述
JavaScript正则表达式:菜鸟入门指导第一节:基础学习想要高效地学习和掌握正则表达式的关键是花一天的时间记住所有符号。这可能是我所能提供的最好的建议。坐下来,做些记忆卡片,然后记住它们。以下为最常见的一些符号:. - 匹配任意字符,换行符除外* - 该符号前面的字符,匹配 0 次或多次。+ - 该符号前面的字符,匹配 1次或多次? - 该符号前面的字符是可选的。匹配 0 次或 1 次。d - 匹配任何单个数字。w - 匹配任何一个字符(包括字母数字以及下划线)。XYZ - 匹配字符组中的任意一个字符,即 X、Y、Z 中的任意一个。XYZ+ - 匹配字符组中的一个或多个字符。$ - 匹配字符串结束的位置。 - 匹配字符串开始的位置。a-z - 当出现在字符类中时, 表示 NOT(非);对于该示例,表示匹配任何非小写字母。 很闷吧,不过还是记住它们,记住之后你会知道好处的。第二节:正则表达式和 JavaScript本节为最后一节,我们来看看JavaScript 方法如何使用正则表达式。1. Test()这个方法接受单个字符串参数,然后返回一个布尔值,该值表明是否找到一个满足条件的值。如果你不需要对特定的匹配结果进行操作,比如,验证用户名,“test”方法已足够完成这个任务。示例varusername=JohnSmith; alert(/A-Za-z_-+/.test(username);/returnstrue在上面的代码中,我们首先声明一个正则表达式,表示仅允许大写或小写字母、下划线和连字符。将这些可接受的字符放在括号中,就指定了一个字符组。紧随其后的 + 号表示我们想要正在寻找的是一个或多个前述字符组中的字符。然后使用该范式对变量“JohnSmith”进行测试。由于存在匹配,浏览器的显示框中将显示 true。2. Split()你可能对 split 方法已经很熟了。该方法接受单个正规表达式,表示在哪里进行“分割”。请注意,如果喜欢,你还可以使用字符串。varstr=thisismystring; alert(str.split(/s/);/输出this,is,my,string上面代码中的 s 表示单个空格,通过它,我们将字符串分割为一个数组。如果想要访问某个特定的值,使用相应的索引即可。varstr=thisismythisstring; alert(str.split(/s/)4);/输出string3. replace()可能你已经想到了,replace 方法可以用来将文本中的一部分(由字符串或正则表达式表示)替换为不同的字符串。示例如果想要将“Hello, World”改为“Hello, Universe”,可以使用下面的代码:varsomeString=Hello,World; someString=someString.replace(/World/,Universe); alert(someString);/输出Hello,Universe应留意的是,对于这个简单的示例,我们本来可以简单的使用.replace(World, Universe)。另外,使用 replace 方法不会自动重写变量的值,我们必须将返回值再次分配给这个变量:someString。示例 2再举一个例子,假设用户要在我们的网站注册一个账号,我们可能想要提供一些基础的安全预防措施。也许我们想要留下他们的用户名,而删除其他任何符号,引号、分号等等。对于 JavaScript 和正则表达式,执行这类任务是桩琐碎的小事情。varusername=J;ohnSmith;%; username=username.replace(/A-Za-zd_-+/,); alert(username);/输出;%看到最后生成的显示值,有人可能会想,上面的代码有错误。事实并非如此。你仔细看看,会发现字母“J”后的分号被删除了,正如我们所期望的那样。为了通知引擎继续搜索字符串查找更多匹配,我们可以做结束的斜杠后面直接添加一个“g”,这个修饰符或标记表示“global(全局)”。修改后的代码如下所示:varusername=J;ohnSmith;%; username=username.replace(/A-Za-zd_-+/g,); alert(username);/输出JohnSmith现在,正则表达式搜索整个字符串,替换所有必要的字符。让我们看看关键的表达式(.replace(/A-Za-zd_-+/g, );),要注意,括号内的向上箭头(即 )非常重要。当放在字符组中时,该符号表示“找到所有不是”。现在回头在看看这个代码,它表示,找到所有不是字母、数字(由 d 表示)、下划线或连字符的符号;如果找到一个匹配,将其替换为空,事实上就是删除该字符。4. Match()与test方法不同,match() 返回一个包含所有找到的满足条件的数组。示例varname=JeffreyWay; alert(name.match(/e/);/输出e上面的代码将显示一个字母“e”。但是,在字符串“JeffreyWay”中实际上包含2个 e。同样,这次我们还是要使用修饰符“g”来声明一个全局搜索。varname=JeffreyWay; alert(name.match(/e/g);/输出e,e如果想要显示数组中这些特定值中的一个,可以做括号中引用想要的索引。varname=JeffreyWay; alert(name.match(/e/g)1);/输出e示例 2让我们看下一个示例,确保我们对它的理解是正确的。varstring=Thisisjustastringwithsome12345andsome!#$mixedin.; alert(string.match(/a-z+/gi);/输出This,is,just,a,string,with,some,and,some,mixed,in在这个正则表达式中,我们创建了一个范式,可匹配一个或多个大写或小写字母。这多亏了“i”修饰符。除外,我们还加上了“g”来声明进行全局搜索。上面的代码将显示“This,is,just,a,string,with,some,and,some,mixed,in.”然后,如果想要获取变量数组中这些值中的某一个,我们只需引用相应的索引即可。varstring=Thisisjustastringwithsome12345andsome!#$mixedin.; varmatches=string.match(/a-z+/gi); alert(matches2);/输出 just当然,这只是关于javascript中正则表达式的最基本的运用,希望能给大家平时的项目带来一定的帮助。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!