JavaScript正则表达式

正则表达式(regex 、regex):   

   作用:匹配字符串

   组成:由元字符或任意限定字符

 

元字符(特殊字符也可叫限定符):

  .       表示除了\n以外的任意的一个字符            //"fdsfs238"

 [  ]     表示范围                                                 // [1-7]表示的是1到7之间的任意的一个数字

         另一个意义:去除元字符意义               //  [] 就表示一个. 

                               [a-z]表示的是:所有的小写的字母中的任意的一个

                               [A-Z]表示的是:所有的大写的字母中的任意的一个

                               [a-zA-Z]表示的是:所有的字母的任意的一个

                               [0-9a-zA-z]表示的是:所有的数字或者是字母中的一个

 |      或                   [0-9]I[a-z]  表示的是要么是一个数字,要么是一个小写的字母

(  )  分组提升优先级       从最左边开始计算 (()(())),四组,一个左括号分一组

 

限定符(限定前面表达式出现的次数):
 *        表示前面的表达式出现了0次到多次              // [a-z][0-9]*  任意一个小写字母中的后面  数字出现0次或多次

+        表示前面的表达式出现了1次到多次              // [a-z][9]+    任意一个小写字母后面最少一 个9,或者多个"fesfewww9fefds”

?        表示前面的表达式出现了0或1次,最少是9次,最多1次,另一个金义:阻止贪婪模式[4][a-z]? "1231234ij"
          另一个含义:阻止贪婪模式  ,多选一     [4][a-z]? "1231234ij"

{  }      自定义前面表达式出现的次数        { 0,10}  0到10次    {10}  出现10次

 

^         表示取反,在括号里边          [^0-9]    非数字

          表示以什么开始                  ^[A-Z]    以大写字母开头

$        表示以什么结束                  [A-Z][0 -9]$     以数字结束

^[A-Z][a-z]$     //严格模式,必须是  一个大写字母开头,一个小写字母结束。

                      (不严格模式,字符串只要有与表达式匹配就可以通过)

 

 \d       任意一个数字

\D        任意一个数字以外的字符

\s         任意一个空白符

\S        非空白符

\w         非特殊符号(字母、数字、下划线)

\W         特殊符号

\b          单词边界

 

 

//g   全局模式

//i    忽略大小写

身份证15/18位:

( [1-9] [0-9]{14}) ([0-9]{ 2} [ 0-9xX])?

座机:

    010-88888888

    0111-88888888

 [0-9]{3,4} [ -][0-9]{8}

\d{3,4}[ - ] \d{8}

手机号码:

邮箱:

  [0-9a-zA-Z_.-]+[@][A-Za-z0-9_.-]+([.][a-zA-Z]){1,2}

 

中文:[\u4e00-\u9fa5]

escape( )  中文编码

unescape( )  解码

 

 

正则表达式检查工具

创建正则表达式对象:

一、通过构造函数(RegExp(/ 表达式 /))              //RegExp(" \表达式"),需要转义

 

二、通过字面量

     var  reg = / 表达式 /;

 

正则对象.test()方法,判断字符串是否匹配某个正则表达式

var  reg = / 表达式 /; 

reg.test(字符串)           返回一个布尔值,如果字符串中有与正则匹配的返回ture ,否则false

 

正则对象  exec ()方法 ,寻找匹配的字符串

var  reg = / 表达式/ ;

reg.exec(  字符串)                返回一个与正则表达式匹配的数组,获取的内容要循环遍历

 

 

字符串  match()方法  , 寻找匹配的字符串:

var str =  ''语文:95,数学:90,英语:75 ";           str.match(/[0-9]{2}/g)     返回内容是95,90,75

str.match(/正则表达式 /g)      返回一个与正则表达式匹配的数组,g表示全局模式

 

字符串 replace()方法:

str .replace (/正则表达式/ g, 替换内容 字符串或函数);  

                          

提取部分内容(分组()):

var  str = [2011-11-11]       

var arr  = str.match(/(\d{4})[-] (\d{2}) [-] (\d{2})/)

console.log(RegExp($2)) ;     //  输出月份

 

 

 

判断真数组还是假数组, 看能否调用Array. protype的方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值