正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
使用正则表达式的目的
v 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)
v 可以通过正则表达式,从字符串中获取我们想要的特定部分
正则表达式的特点
v 灵活性、逻辑性和功能性非常的强
v 可以迅速地用极简单的方式达到字符串的复杂控制
v 对于刚接触的人来说,比较晦涩难懂
创建正则表达式的语法:
第一种方法:
<script> var reg = /pattern/;//pattern是规则 </script> |
第二种方法:
<script> var reg = new RegExp(‘pattern’);//pattern是规则 </script> |
正则表达式所支持的常用通配符
. |
可以匹配任何字符 |
\d |
匹配0-9的所有数字 |
\D |
匹配非数字 |
\s |
匹配所有空白字符,包括空格、制表符、换行符、回车符等 |
\S |
匹配所有非空白字符 |
\w |
匹配所有的单词字符,包括0-9数字、26个英文字母和下划线 |
\W |
匹配所有的非单词字符 |
\b |
匹配单词边界 |
\B |
匹配非单词边界 |
[abc] |
查找方括号之间的任何字符 |
[^abc] |
查找任何不在方括号之间的字符 |
[0-9] |
查找任何从0至9的数字 |
[a-z] |
查找任何从小写a到小写z的字符 |
[A-Z] |
查找任何从大写A到大写Z的字符 |
[A-z] |
查找任何从大写A到小写z的字符 |
(red|blue|green) |
查找任何指定的选项 |
//对输入的qq号进行匹配(qq匹配规则:长度为5-10位,纯数字组成,且不能以0开头。)
var r1=/^[1-9][0-9]{4,9}$/
var s1='8987682422'
console.log(r1.test(s1))
//对输入的电话号码进行匹配(匹配要求:匹配成功的电话号码位数为11位的纯数字,且以1开头,第二位必须是:3、7、8中的一位,
var r2=/^[1][378][0-9]{9}$/
var s2="13280624231"
console.log(r2.test(s2))
//让用户输入一个字符串,将用户输入的字符串首字母小写,其余字母首字母大写
var x=prompt("请输入单词");
var x1=x.toUpperCase();
var x2=x.toLowerCase();
var y=x2.charAt(0);
var y1=x1.substring(1);
alert(y+y1)
var reg2=/oracle/i;
var str2='oRaCle';
alert(reg2.test(str2));