首页 > WEB开发 > 前端开发正则表达式详解
2016
07-15

前端开发正则表达式详解

  • “\d{4}-\d{7}”验证字符串是否符合常用固定电话号码的常用形式
  • “\d”表示任意是数字字符,”{4}”表示紧邻它前面的元素重复4次,”\d{7}”表示任意7个数字字符组成的字符串,”-“表示普通的连字符
  • “*”表示它前面的元素重复零次或多次,”bc”表示bc作为一个整体出现
  • “(\d)a*\1″表示两个相同的数字中间夹杂另个或多个a
  • 建立正则表达式:new RegExp(“pattern”,”flags”)、/pattern/flags pattern是构造好的模式,为字符串,flags标记(参数值有g、i、m),可选

Reg对象

  • test方法,test(str),用于检测目标字符串中是否有与给定正则表达式模式匹配的字符串,返回true或false,g标志
  • exec方法,exec(str),返回null或数组(第一元素为完整匹配结果,后一次为子结果)
  • compile方法,compile(“pattern”,[,”flags”]),将正则表达式编译为内部格式,使其匹配过程执行更快

String对象

  • match方法,match(reg),用于在目标字符串中查找与给定正则表达式像匹配的子字符串返回null或以搜索结果为元素的数组
  • search方法,search(reg),用于在调用该方法的String对象的实例中查找首次与”reg”正则表达式模式匹配的字符串,并返回其首字符的位置
  • replace方法,replace(reg,str),用于检索和替换操作
  • split方法,split([separator[,limit]]),按照某种分割标识符将调用它的字符串分割为若干子字符串,将结果存放于一个字符串数组并返回

字符匹配符

  • [xyz]&[^xyz] 表示可以和方括号所包含的任意字符相匹配 & 表示可以和除了方括号所包含的字符外的任意一个字符相匹配
  • [a-z]&[^a-z]
  • \d&\D [0-9] & [^0-9]
  • \w&\W [A-Za-z0-9_] & [^A-Za-z0-9_]
  • . 匹配除”\n”外的任何单个字符

非打印字符

  • \f:与换页符相匹配
  • \n:与换行符相匹配
  • \r:与回车符相匹配
  • \t:与制表符相匹配
  • \v:与垂直制表符相匹配
  • \cx:与由x指明的控制字符相匹配
  • \s&\S:匹配任何空白字符,包括空格、制表符、换页符,即[\f\n\r\t\v]

限定符

  • {n}:指定前面的组件连续出现n次,其中n为一个非负数
  • {n,}:指定前面的组件至少连续出现n次
  • {n,m}:指定前面的组件至少连续出现n次,至多连续出现m次
  • +:指定前面的组件连续出现一次或连续出现一次以上
  • *:指定前面的组件出现零次或者连续出现多次
  • ?:指定前面的组件连续出现零次或一次

定位符

  • ^:与输入字符串的开始位置相匹配,要求”^”必须出现在正则表达式模式的最前面
  • $:与输入字符串的结束位置相匹配,要求”$”必须出现在正则表达式模式的最后面
  • \b:与一个词语的边界相匹配,即指词语和空格键的位置,同时包括目标字符串的开始和结束位置等
  • \B:与非词语边界的字符相匹配

分组和反向引用符

  • (pattern)
  • \num
  • (?:pattern)
  • (?=pattern)
  • (?!pattern)

转义字符

  • 需转移字符:”$”、”(“、”)”、”*”、”+”、”.”、”[“、”]”、”?”、”\”、”/”、”^”、”{“、”}”、”|”
  • \xn
  • \n
  • \nm
  • \nm1
  • \un

编程技巧