`
yun342173024
  • 浏览: 73811 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript正则表达式

 
阅读更多
今天学习了正则表达式在javascript中的应用,在这里做个总结。
正则表达式的应用场景

1.用于某种格式的验证,比如验证邮箱,是否是数字等,在web应用程序中可以做前台表单验证

2.替换内容

3.查找内容

正则表达式语法

一 限定符  指定前面的字符或者字符组合连续出现的次数

1.{n} 表示前面的字符连续出现n次,举例说明:a{3}可以匹配daaa 但不能匹配daa。
 
2. {m,n}表示前面的字符或者字符组合至少出现m次最多出现n次,举例说明:a{2,3}可以匹配aa,aaa但不能匹配a。

3.{m,}表示前面的字符或者字符组合至少出现m次,多则不限,举例说明a{2,}可以匹配aa,aaa,aaaa,aaaaaa等。

4.?表示前面的字符出现一次或者零次,举例说明:da?可以匹配d,da.

5.+表示前面的字符或者字符组合至少出现一次,没有上线限制,和前面的{1,}等同。

6.*表示前面的字符出现零次或者多次,没有上线限制。

二 贪婪匹配和非贪婪匹配
  
  1.贪婪匹配 默认情况下正则表达式使用最长匹配原则,例如,要将zoom中的zo?替换成c替换的结果是com不是coom,如果修改成zo*结果是cm
 
  2.非贪婪匹配 当字符“?”紧随其他限定符(*,+,{m},{m,n})时,正则表达式使用最短匹配(也就非贪婪模式)比如 zo+? 匹配zo zo+匹配zoooo。

三 选择匹配符
     选择匹配符就一个“|”,用来匹配两者的一个,举例说明 a|bc匹配a或者bc。

四 分组组合符和反相引用符
  
  分组组合符:将正则表达式某部分组合起来的符号,格式为(pattern),就是用括号把正则表达式包围起来。例如:(abc)de,abc就是一个分组。
 
反相引用符:用与匹配前面的分组组合所匹配的内容的符号,格式为\num,举例说明,要匹配连续五个数字可以用\d{5},但是要匹配连续相等的五个数字,就要用到反相引用符了(\d)\1{4},\1表示组合表达式(\d)匹配的内容,如果不需要引用和检索括号中所匹配的结果内容,可以使用(?:pattern),比如abc(?:y|c),表示不存储组合表达式匹配的结果。

五 特殊符号

1.[...]该符号用来指定可以匹配多个符号中的一个,举例说明[abd]可以匹配a b d 。

2.[^...]加上这个符号,表示匹配除了中括号中出现的字符。举例说明[^abd]匹配除a  b d以外的任意单个字符,如果^没有出现在[后面还表示普通的字符^。

3.[a-z] 表示一个范围,匹配a到z的之间的任意一个字符,如果要匹配-字符,需要对其进行转义[a\-z],还可以将连接符-放到末尾或前面,[a-z-]或者[-a-z]
 
4. \d 表示0-9之间的任意一个数字
 
5. \D \d的反义,匹配除了0-9之间的任意一个字符。
 
6. \s 匹配空行,如\r\n \t 。

7. \S 匹配除空行之外的字符。

8. \w 匹配a-zA-Z0-9_。

9. \W 匹配除了a-zA-Z0-9_之外的字符。

10. . 匹配除换行符(\n)之外的任意字符,如果要匹配任意的字符可以这样写[\s\S]或者 [\d\D]或者[\w\W]要匹配任意连续的两个字符可以写([\s\S])\1。

11. ^ 如果出现在正则表达式第一个位置,表示以那个字符开始,举例说明:^u 匹配us中的u单不匹配you中的u。

12. $放在正则表达式结尾表示以什么结尾,o$匹配zoo中的o不匹配school中的o。

13. \b 单词边界符。

14. 如果要匹配(),[]+,?等这样在正则表达式中有特殊意思的字符,需要进行转义如字符.要写成\.。 

六 正则表达式javascript中的应用

   1. 在javascript中用RegExp对象表示正则表达式对象,要创建一个正则表达式对象在javascript中有两种方法代码如下:
 <script type="text/javascript" >
    var regExp1 = /\d{1,3}/gi;
    var regExp2 = new RegExp("\\d{1,3}");
   
   </script>
 

2. RegExp对象,在javascript中一般用来用作输入验证,它有一个方法test方法可以验证输入字符串是否符合某种格式,返回值为boolean。例如验证一个文本框只能输入数字:
 <script type="text/javascript" >    
    
    var regExp = /^\d+$/g;
    alert(regExp.test("1233"));
    
   </script>


3. String 对象的三个方法
   1. replace(reg,replaceText),它返回一个替换后的字符的串。例子如下,把一个字符串中的数字替换成字符"H"
 <script type="text/javascript" >
   var str = "dd22331ggzz12"  
   var regExp = /\d+?/gi;
   var replaceStr = str.replace(regExp,"H");
   alert(replaceStr); 
   </script>

2. match(regExp)返回一个数组,数组存放的是匹配的内容.例子如下:
 
  
  <script type="text/javascript" >
   var str = "dd22331ggzz12"  
   var regExp = /\d+/gi;
   var arr = str.match(regExp);
   alert(arr.length);
   var len;
   for(var i= 0,len = arr.length;i < len;i++){
     alert(arr[i]);
   }
   </script>   
   


3.split(regExp[,limit])把一个字符串按照一个的规则分开,返回一个数组,接受两个参数,一个是正则表达式对象也可以是正常的字符串,第二个参数是可选的,表示返回数组的大小第二个参数影响返回的数组的大小,比如5表示返回的数组的大小是5,至少匹配四次下:
 <script type="text/javascript" >
  var str = "dd22331ggzz12"  
     var regExp = /\d+/gi;
     var arr = str.split(regExp);//把字符串用数字分开
     alert(arr);
    </script>  
  


最后列举一些长用的正则表达式
1. 匹配空行 /^\s*$/
2. 匹配数字 /\d+/
3. 匹配电子邮件/^[\w-]+@[\w-]+\.com(\.cn)?$/
4. 匹配字符串左右的空格 /(^\s+)|(\s+$)/  
5. 匹配ip地址/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.\d{1,2}|1\d\d|2[0-4]\d|25[0-5]){3}$/
6.手机号码 /^1[358]\d{9}$/
分享到:
评论

相关推荐

    javascript正则表达式迷你书 (1).pdf

    JavaScript 正则表达式迷你书 本书是 JavaScript 正则表达式的入门级教程,旨在帮助读者快速掌握正则表达式的基本概念和应用。下面是本书的知识点摘要: 第一章:正则表达式字符匹配攻略 * 两种模糊匹配:横向...

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    javascript正则表达式综合练习

    JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    **JavaScript正则表达式迷你书(1.1版)** 正则表达式是JavaScript中一个强大的工具,用于处理文本字符串,进行模式匹配和查找、替换等操作。它们在编程逻辑中扮演着至关重要的角色,尤其是在处理字符串数据时,...

    javascript正则表达式详解 (chm)

    javascript正则表达式详解 (chm)

    javaScript 正则表达式详解

    JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。正则表达式可以用来匹配、检索和操作字符串。 RegExp 对象 在 JavaScript 中,正则表达式可以被定义为一个 ...

    javascript正则表达式详解

    JavaScript正则表达式是JavaScript语言中一种极为重要的文本处理工具,它允许通过简洁的语法定义文本的匹配模式。这些模式可用来对字符串进行检索、替换、提取等操作。了解和掌握JavaScript正则表达式,对于提高...

    Javascript正则表达式测试网页.rar

    JavaScript正则表达式是网页开发中的重要工具,用于处理文本数据的验证、查找、替换等操作。在网页制作过程中,熟练掌握正则表达式能够极大地提高代码效率和灵活性。本压缩包“Javascript正则表达式测试网页.rar”...

    JavaScript正则表达式.ppt

    了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用

    常用Javascript正则表达式汇总

    以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...

    javascript正则表达式表单验证大全

    ### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...

    经典JavaScript正则表达式实战

    下面详细解析了文档中提到的JavaScript正则表达式实战应用的各个方面。 首先,匹配结尾的数字是正则表达式的一个常用功能。在JavaScript中,可以使用正则表达式/\d+$/g来实现。这个表达式可以找到字符串中最后一个...

    JavaScript正则表达式工具

    JavaScript正则表达式工具是一种基于JavaScript开发的应用程序,旨在帮助开发者和编程爱好者更方便地理解和使用正则表达式。在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于字符...

Global site tag (gtag.js) - Google Analytics