首页 > 代码库 > 7月28号=》296页-300页

7月28号=》296页-300页

13.3.5  正则表达式

正则表达式所支持的合法字符
字符解释
x(x‘可代表任何合法的字符)字符x
\0mnn八进制数0mnn所表示的字符
\xhh十六进制值0xhh所表示的字符
\uhhhh十六进制值0xhhhh所表示的Unicode字符
\t制表符(‘\u0009‘)
\n新行(换行) 符 (‘\u000A‘)
\r回车符(‘\u000D‘)
\f换页符(‘\u000C‘)
\a报警(bell)符(‘\u0007‘)
\eEscape符(‘\u001B‘)
\cxx对应的控制符。例如,\cM匹配Ctrl+M。x值必须为A~Z或a~z之一

 

正则表达式所支持的“通配符”
预定义字符说明
.可以匹配任何字符
\d匹配0~9的所有数字
\D匹配非数字
\s匹配所有的空白字符,包括空格、制表符、回车符、换页符、换行符等
\S匹配所有的非空白字符
\w匹配所有的单词字符,包括0~9的所有数字,26个英文字母和下划线(_)
\W匹配所有的非单词字符
[]表示法

这种表示法最为灵活。例如,[a-z]表示a到z之间任意一个字符,[a-z0-9]表示a到z,或0到9的任意

一个字符,[\u4e00-\u9fff]匹配任意一个汉字(u4e00到u9fff是汉字的Unicode码值范围)

$匹配一行的结尾。要匹配$字符本身,请使用\$
^匹配一行的开头。要匹配^字符本身,请使用\^

 

特殊字符(频繁修饰词)
特殊字符说明
指定前面子表达式可以出现零次或一次。要匹配 ? 字符,请使用\?
*指定前面子表达式可以出现零次或多次。要匹配 * 字符,请使用\*
+指定前面子表达式可以出现一次或多次。要匹配 + 字符,请使用\+
{m,n}表示法

这种表示法最灵活,前面子表达式最少出现m次,最多出现n次。m、n两个数值都可以省略,

如果省略m,则表示最少可出现0次;如果省略n,则表示最多可出现无限多次

 

    除此之外,正则表达式还支持()表示法,用()可以将一个表达式形成一个固定组。还可以再()内使用竖线表示互斥,

    例如/((abc)|(efg))/可匹配abc或efg。

    正则表达式代码示范:

      function trim(s)

      {

        //将所有匹配的内容替换成‘‘(即截取前、后的空格)

        return s.replace(/(^\s*)|(\s*$)/g,"");

      }

      //输出截去了前后空白的字符串 即:Hello,JavaScript

      alert(trim(‘       Hello,javaScript    ‘));

 

13.4  复合类型

      复合类型是有多个基本数据类型(也可以包括复合类型)组成的数据体。

      JavaScript中的复合类型大致上有如下3中:

        Object:对象。

        Array:数组。

        Function:函数。

 

13.4.1  对象

      除了Object之外,JavaScript还提供了如下常用的内置类

        Array:数组类。

        Date:日期类。

        Error:错误类。

        Function:函数类。

        Math:数字类,该对象包含相当多的执行数学运算的方法。

        Number:数值类。

        Object:对象类。

        String:字符串类。

 

13.4.2  数组

      JavaScript中数组元素的类型可以不相同。定义一个数组有如下3种方法。

        var a = [3,5,23];

        var b =[];

        var c = new Array();

      第一种在定义数组时已为数组完成了数组元素的初始化,第二种和第三种都只创建一个空数组。

 

13.4.3  函数

      JavaScript的函数声明中,参数列表不需要数据类型声明,函数的返回值也不需要数据类型声明。

      函数定义的语法格式如下:

        function functionName(param1,param2,.....)

        {

        }