一、简介
正则全称正则表达式,通常叫正则就可以了,英文叫 Regular Expression,简称 RegExp。至于为什么叫“正则表达式”,是不是有点怪怪的?——既然说是“正”了,哪里又是“反的”,——这里就不学究了,本文是快速教程,学懂再说,不必纠泥学术的名称.
总之,正则很有用的,先学会!
二、Hello World
不能免俗,还是要祭出 Hello World。
alert(/hello/.test('hello world')); // 匹配 hello
Hello World 例子中我们首先明白正则的格式是/……/,一对斜杠在一前一后在围绕着正则。我们当前正则就是字符 hello,但注意无须引号”'去表示字符。正则在 js 中是一种特殊的量,允许有其特殊的语法和格式,但也是一种“对象”。既然是对象所以也允许有其方法,比如这里的 /hello/.test():boolean 返回 true/false。true 表示该正则有匹配结果,反之 false 没有。
这里先介绍简单的正则表达方式,下文皆然。不过我们必须知道,这不是唯一正则的表达方式。正则可以动态生成的,容日后再讲。试试几个例子:
alert(/i/.test('Day Day Up')); // 没有匹配 alert(/天/.test('天天向上)); // 肯定有,都两个 天 了
三、不分大小写(Case-insensitive)
中文是没有大小写的,英文却有大小写,地球人都知道这点 -_-!。正则中默认大小写有别,也就是 alert(/i/itest('I Love ME')); 返回 false。如果想取消这一默认,让输入条件大小写一视同仁,写这样就可以了:
alert(/i/i.test('I Love ME')); // 匹配I
看到没有?正则斜杠后面加上 i 便可以了。除i之外还有 g(是否全文)、m(是否多行)的模式供用户选择。这是一个不定项的选择,也就是说既可以 /abc/img,也可以 /abc/mg…… 如此类推,看需要而定。
四、认识正则的“概括能力”
' ' = = & # 160; = String.fromCharCode(160); = var c = "\xa0"; = var c = "\240"; = var c= "\u0020 "; \ddd (三位數,代表八進位ASCII) \xdd (x加兩位數,代表十六進位ASCII碼) \udddd (u加四位數,用Unicode碼表示,又叫UCN, Unicode Character Name)
时间: 2024-09-29 08:18:05