js正则表达式小结

虽然一直在使用正则表达式,但是一直没有系统的归纳。以下从正则表达是的功能进行相应的介绍。如有不正确的地方,望请纠正。

  1. 模式检测功能

模式检测是指要检测的文本是否符合我们预期的模式,主要用于做登录、注册的验证等:如,我们经常在注册时要求账号长度为6-16位等,以下是常用正则表达式

  • 手机号码:/[1-9][0-9]{10}/
  • 邮箱:/^([a-zA-Z0-9_-])[email protected]([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/
  • 身份证:/([\d]{17}[\d|x])|[\d]{15}/  注:旧的身份证为15位
  • 账号检测:/[a-zA-Z][a-zA-Z0-9_]{5,17}$/ (只允许字母开头并且长度为6-18位的账号)

2.  文本内容的部分替换

  • 将文本替换中的内容全部用其他的内容替换,例如:
1 var str="Our life is bright,we should cherish our life";
2 var pattern=/life/g;
3 var result=str.replace(pattern,"future");
4 console.log(result);
  • 可以将文本的格式替换为预期的另一种格式。如将段落中的所有单词的首字母大写
1 var str="Our life is bright,we should cherish our life";
2 var pattern=/\b\w+\b/g;
3 var result=str.replace(pattern,function(word){
4        return word.substring(0,1).toUpperCase()+word.substring(1);
5     });
6
7 console.log(result);//Our Life Is Bright,We Should Cherish Our Life

3. 获得模式匹配的文本

  • 使用String的match方法获得匹配的结果
1 var str="Our life is bright,we should cherish our life";
2 var pattern=/li\w*/g;
3 var result=str.match(pattern);
4 console.log(result);//["life", "life"]
  • 使用RegExp的exec方法获得匹配的结果
1 var str="Our life is bright,we should cherish our life";
2 var pattern=/li\w*/g;
3 var result=pattern.exec(str);
4 console.log(result);//["life", index: 4, input: "Our life is bright,we should cherish our life"]
时间: 2024-12-28 01:37:16

js正则表达式小结的相关文章

JS正则表达式完整教程(略长)

JS正则表达式完整教程(略长) 引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程,网上也有很多,相信你也看了一些. 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高. 本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面. 如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答. 具体章节如下: 引言 第一章 正则表

【正则】精通JS正则表达式,没消化 信息量太大,好文

http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 •根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称

js isArray小结

原文:[转载]js isArray小结 在日常开发中,我们经常需要判断某个对象是否是数组类型的,在js中检测对象类型的常见的方法有几种: 1.typeof操作符.对于Function.String.Number.Undefined这几种类型的对象来说,不会有什么问题,但是针对Array的对象就没什么用途了: Js代码  isArray小结" alt="收藏代码" src="http://www.iteye.com/images/icon_star.png"

js正则表达式语法 修正

js正则表达式语法 转义字符是\,而不是/,故本文中正则表达式需要转义的地方,都需要用\替换掉原来的/. 1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符. 举例1:表达式 "c",在匹配字符串 "abcde" 时,匹配结果是:成功:匹配到的内容是:"c":匹配到的位置是:开始于2,结束于

JS正则表达式完整教程

引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程,网上也有很多,相信你也看了一些. 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高. 本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面. 如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答. 具体章节如下: 引言 第一章 正则表达式字符匹配攻略 第二章 正则表

js正则表达式的match test exec replace函数

js正则表达式的方法:一种正则在前,一种正则在后: 使用: 1.exec var res = /\-[a-z]/g .exec("font-size"); console.log(res); 得到的结果: 所以返回的是一个数组,第一个为匹配值,第二个是匹配的位置,第三个是输入的数 2.test var res = /\-[a-z]/g .test("font-size");console.log(res); 返回为一个布尔值 3.match var res =(&q

JS 正则表达式否定匹配(正向前瞻)

引言:JS 正则表达式是 JS 学习过程中的一大难点,繁杂的匹配模式足以让人头大,不过其复杂性和其学习难度也赋予了它强大的功能.文章从 JS 正则表达式的正向前瞻说起,实现否定匹配的案例.本文适合有一定 JS 正则表达式基础的同学,如果对正则表达式并不了解,还需先学习基础再来观摩这门否定大法. 一.标签过滤需求 不知道大家在写JS有没有遇到过这样的情况,当你要处理一串字符串时,需要写一个正则表达式来匹配当中不是 XXX 的文本内容.听起来好像略有些奇怪,匹配不是 XXX 的内容,不是 XXX 我

JS正则表达式大全(整理详细且实用)

JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*".

精通JS正则表达式(转)

精通JS正则表达式,讲的比较详细,学习正则表达式的朋友可以参考下. 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 •根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符