js正则表达式

58 阅读2分钟

一,正则表达式说明

正则表达式用于定义一些字符串的规则,是给计算机看的,计算机可以根据正则表达式,来检查一个字符串是否符合规则,获取将字符串规则的内容提取出来

二,创建正则表达式的对象( 构造函数创建

语法:
    var 变量 = new RegExp("正则表达式","匹配模式");
使用typeof检查正则对象,会返回object

例 1:

var reg = new RegExp("a")
这个正则表达式可以检查一个字符是否含有a

在构造函数中可以传递一个匹配模式作为第二个参数

可以是:

i 忽略大小写

g 全局模式匹配

例2:

正则表达式的方法:test()

使用test()这个方法可以检查一个字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false

var result =reg.test(str);
console.log(result)    //true

三,正则表达式使用字面量来创建正则表达式

语法:
    var 变量 = /正则表达式/匹配模式

:使用字面量创建正则表达式更加简单;而使用构造函数创建更加灵活

var reg=new RegExp("a","i");//构造函数创建
var reg=/a/i;                //字面量创建

例 1:创建一个正则表达式,检查一个字符是否含有a或b。

这里使用| 符号 表达的是或者的意思

var reg =/a|b|c/;
 console.log(reg.test(reg)); //true

例2:创建一个正则表达式检查一个字符串是否含有字母

reg=/a|b|c|d|e|g/;
console.log(reg.test(reg));

正则的其他方式(一部分)

  1. []里的内容也是或的关系
  2. [ab]=a|b
  3. [a-z] 任意的小写字母
  4. [A-Z] 任意的大写字母
  5. [A-z] 任意的字母
  6. [0-9] 任意数字
  7. \w :任意字母,数字,_ [A-z 0-9 _]
  8. \W :除了字母,数字,_ [^A-z 0-9 _]
  9. \d:任意的数字 [0-9]
  10. \D:除了数字 [^0-9]
  11. \s:空格
  12. \S:除了空格
  13. \b:单词边界
  14. \B:除了单词变界
//检查一个字符串中是否含有abc或adc或aec
var reg=/abc|adc|aec/           //和下面的表达是一样的效果
reg=/a[bde]c/                 //和上面的表达是一样的效果

console.log(reg.test(reg));//true

  //检查一个字符串中是否含有abc 或adc 或者aec
  //reg=/abc|adc|aec/
  reg=/a[bde]c/;

综合例子

  /*
  * 创建一个正则表达式检查一个字符串是否含有单词child
  * */
  //reg=/child/;//只要有child无论他是否有独立的单词都行,即使是hellochildren也可以为true
  reg=/\child\B/;
//document.write(reg.test("hello child ren "));

  //接收一个用户的输入
 /* var str=prompt("请输入你的用户名")
  console.log(str);*/
 str="            he    llo            ";
 //去除掉字符串的空格
  //去除掉空格就是使用""来替换空格
 /* str=str.replace(/\s/g,"");*/
  //去除开头的的空格
 // str=str.replace(/^\s*!/,"");
  //去除结尾的空格
  //str=str.replace(/^\s*$/,"");//

  //     /\s*!/  /\s*$/  整合 /^\s*|\s*$/g 匹配开头和结尾的空格 s's'z
  str=str.replace(/^\s*|\s*$/g,"");
  console.log(str);