一,正则表达式说明
正则表达式用于定义一些字符串的规则,是给计算机看的,计算机可以根据正则表达式,来检查一个字符串是否符合规则,获取将字符串规则的内容提取出来
二,创建正则表达式的对象( 构造函数创建 )
语法:
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));
正则的其他方式(一部分)
- []里的内容也是或的关系
- [ab]=a|b
- [a-z] 任意的小写字母
- [A-Z] 任意的大写字母
- [A-z] 任意的字母
- [0-9] 任意数字
- \w :任意字母,数字,_ [A-z 0-9 _]
- \W :除了字母,数字,_ [^A-z 0-9 _]
- \d:任意的数字 [0-9]
- \D:除了数字 [^0-9]
- \s:空格
- \S:除了空格
- \b:单词边界
- \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);