正则和Math数学对象

>  正则表达式声明方式:

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的最大整数(去掉小数点)

你可能感兴趣的:(正则和Math数学对象)