> 正则表达式声明方式:
1. 对象声明法:(RegExp是正则对象)
RegExp(str1,str2);
str1:你要查找的字符串;
str2:可选项:功能参数有三个值:
g:全局查找;
i:忽略大小写;
m:多行查找;
var re=new RegExp('a','g');//全局查找a;
2. 简易声明法(推荐使用)
var re=/需要匹配的内容/[可选项:功能项共有三个值;g/i/m];
var re=/a/g :全局查找a;
> 正则对象的方法:
1. rgExp.exec(str);返回包含该查找结果的一个数组对象;如果设置这了g就从全局找
rgExp:他表示一条正则表达式;
str:表示你要被匹配的字符串;
-----------------
返回值有两个关联下标:
'index':匹配的下标
'input':被匹配的字符串
var re=/ab/;-----var re=/c/gi;
var arr=re.exec('bcaaaabbbssaa');
for(var i in arr){
alert(arr[i]+'----'+i)
}
-------------------
2.
3. myString.match()
利用正则表达式查找字符串;
在字符串中检索指定的值,返回的值就是指定的类型(值)
myString.match(rgExp);
rgExp:正则表达式;
var re=/ain/ig;
var str='abcain';
var arr=str.match(re);
for(var i in arr){
alert(arr[i]+'----'+i)
4.search()返回一个匹配位置下标
只能作用于正则。
myString.search(rgExp)
rgExp:正则表达式;
var str='helloworld';
alert(str.match(/low/));
alert(str.search(/low/))
5. myString.replace()
将字符串中的一些字符替换为另外一些字符。
var str='helloworld';
alert(str.replace(/llo/,'***'));
-----------------------------------
>正则表达式特殊字符:
正则表达是有普通字符和特殊字符组成;
特殊字符:
^:匹配字符串开始位置;
$:匹配字符串结束位置;
+:匹配前面字符一个或者多个:a+;可以匹配一个a或者多个a;
?:匹配前面表达式0个或者一次:
*:匹配前面表达式或者字符0次或者多次;
{n}:n是一个非负数,匹配前面表达式或者字符n个:a{2}:匹配2个a;
{n,}:n是一个非负数,匹配前面表达式或者字符至少n个:a{2,}:至少要有2个a;
{n,m}:n,m是一个非负数,匹配前面表达式或者字符至少n个最多m个;a{2,5}:最少要有2个a最大5个;
| :或; a|b :匹配a或者b;
[]:集合匹配:[abc]:匹配a或b或c
[^]:集合匹配:[^abc]:匹配未包含的字符;
\d:匹配一个数字 相当于[0-9];
\D:匹配一个非数字相当于[^0-9]; \D 要用反斜杠转义用;
\n:匹配一个换行符;
\r:匹配一个回车符;
\s:任意空白字符;
\S:非空白字符;
\w:匹配包括下划线的任何字符;
\W:匹配任何非单词字符 相当于[^a-zA-z_];
----
操作符的优先顺序:
1、\转义字符
2、(),(?=),(?:),[]
3、*,+,?,{n} 限定符
4、^,$
5、 |或
-----------------------------------------
Math数学对象:
1. Math.random():获取到0~1间的随机数;(包括0不包括1)
例子:10以内的随机数
Math.random()*10
2. Math.round(num):参数num是个Number类型,返回num四舍五入后的整数值
例子:算出 5.343 四舍五入后的值
Math.round(5.343);
3. Math.ceil(n);返回一个大于等于n的最小整数(去掉小数点+1);
alert(Math.ceil(5.198877676))===>6:
4. Math.floor(n);返回一个小于等于n的最大整数(去掉小数点)
网友评论