JavaScript正则表达式

来源:互联网 发布:angelar js是什么 编辑:程序博客网 时间:2024/05/21 15:40

正则表达式

为什么要有这个正则表达式:   因为查找是一个比较复杂的东西,我们更加准确快速找到自己想要的。

什么是正则表达式:  它可以定义一种字符串逻辑的公式,来和要查找的字符串做匹配,找到自己想要的

定义规则

1.    使用/规则/修饰符

var patt =/hellocooldog/i;

2.新创建一个RegExp对象,给两个参数分别为规则和修饰符

var patt = newRegExp("hello","i");

常用的修饰符

i不区分大小写

var str ="HelloCoolDog";
var patt1 =/hellocooldog/i;
var result = str.replace(patt1);
document.write(result);

j全局匹配,从找到下一个下标开始在继续往后查找,一直找到字符串结束

var str ="HelloCoolDog";
var patt2 = /o/g;  //全局查找
var result = str.replace(patt2,"O");
document.write(result);

字符模式

[hel]:从里面的字符取任意一个去匹配字符串。

    var str = "HelloCoolDog";
    var patt = /[Hel]/g;
    var result = str.match(patt);
    document.write(result);

[0-9]:匹配任意一个数字

var str ="H1e2l3l4o5C6o7o8l9D0og";
var patt = /[0-9]/g;
var result = str.match(patt);
document.write(result);

[a-z]:匹配所有小写字母

var str = "H1e2l3l4o5C6o7o8l9D0og";
var patt = /[a-z]/g;
var result = str.match(patt);
document.write(result);

[A-Z]:匹配所有大写字母

var str ="H1e2l3l4o5C6o7o8l9D0og";
var patt = /[A-Z]/g;
var result = str.match(patt);
document.write(result);

[a-z]/ig:匹配任意字母

var str ="H1e2l3l4o5C6o7o8l9D0og";
var patt = /[A-Z]/ig;
var result = str.match(patt);
document.write(result);

(a|x):匹配所有a或者x,a也能用[]表示

    var str ="H1e2l3l4o5C6o7o8l9D0og";
    var patt3 = /([a-z]|[A-Z])/g;
    var result = str.match(patt3);
    document.write(result);

常用的字符

\w:单词字符,包含所有字母和数字和下划线 是word的缩写

var str ="+-*/&%$#1H2e3l4l5o6C7o8o9lDog";
var patt =/\w/g;
var result = str.match(patt);
document.write(result);

\s :空格,测试空格 是space的缩写

   var str = " 1H2e3l4l5o6C7o8o9lDog";
    var patt = /\s/g;
    var result = str.replace(patt,"&");
    document.write(result);

\d :数字 是digital的缩写

  var str = " 1H2e3l4l5o6C7o8o9lDog";
    var patt = /\d/g;
    var result = str.replace(patt);
    document.write(result);

常用的量词

o+ :找到一个或者多个o;

var str = "1H2e3l4l5o6C7ooo8o9lDoog";
var patt1 = /oo+/g;     //匹配1个或者多个
var result = str.match(patt1);
document.write(result+"<br/>");

o*:找到0个或者多个o;

var str = "1H2e3l4l5o6C7ooo8o9lDoog";
var patt2 = /oo*/g;     //匹配0个或者多个
var result = str.match(patt2);
document.write(result+"<br/>");

o?:找到0个或者1个0;

var str = "1H2e3l4l5o6C7ooo8o9lDoog";
var patt3 = /oo?/g;     //匹配0个或者1个
var result = str.match(patt3);
document.write(result+"<br/>");

o{2}:指定具体的个数只有三个

   var str = "1H2e3l4l5o6C7ooo8o9lDoog";
   var patt3 = /0{2,}/g;    //最少两个
    var result = str.match(patt1);
   document.write(result+"<br/>");

o{2,3} :指定至少2个,最多3个

   var str = "1H2e3l4l5o6C7ooo8o9lDoog";
    var patt2 = /o{2,3}/g;      //指定至少2个,最多3个
   var result = str.match(patt2);
  document.write(result+"<br/>");

o{2,} :最少2个

   var str = "1H2e3l4l5o6C7ooo8o9lDoog";
   var patt3 = /0{2,}/g;    //最少两个
   var result = str.match(patt3);
  document.write(result+"<br/>");

^:必须以后面的内容开头。

$:以什么内容结束。

RegExp 常用的两种方法:

Exec():返回的是找到符合正则表达式的新的字符串

var patt =/\w+/g;
var str = "good afternoon";
var result =patt.exec(str);
document.write(result);

Test():返回的是true和false,当字符串满足正则表达式时为true否则为false

var str =prompt("请输入密码");
var patt = /([a-z]|[A-Z])\w{5,17}/;
if(patt.test(str)){
    alert("您输入的密码正确");
}else{
    alert("您输入的密码不符合规范");
}

 

原创粉丝点击