JavaScript正则快速教程(待续,不断更新补充)

一、简介

正则全称正则表达式,通常叫正则就可以了,英文叫 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

JavaScript正则快速教程(待续,不断更新补充)的相关文章

Python快速教程 尾声

  写了将近两年的Python快速教程,终于大概成形.这一系列文章,包括Python基础.标准库.Django框架.前前后后的文章,包含了Python最重要的组成部分.这一内容的跨度远远超过我的预期,也超过了我看过的任何Python相关书籍.最初动笔的原因,除了要总结,还对很多Python书和教程觉得不满意,觉得太晦涩,又不够全面.现在,我比较确定,参考我在Linux.网络.算法方面的总结,读者可以在无基础的背景下,在短时间,有深度的学习Python了. 这一篇也是尾声.准备在一个长的时间内,停

Python快速教程

原文:Python快速教程 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢!   怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容很多,加上各种标准库,拓展库,乱花渐欲迷人眼.一直希望写一个快速的.容易上手的Python教程.目标是做到言语简洁,循序渐进,让没有背景的读者也可以从基础开始学习.我在每一篇中专注于一个小的概念,希望在闲暇时可以很快读完. 小提醒 教程将专注于Python基础,语法基

JavaScript正则表达式快速判断技巧

原文:JavaScript正则表达式快速判断技巧 这里是JS的正则的一点心得,并不是最完整的规则汇总,更侧重实际运用中的快速判断,初学者接触正则之后往往会被一堆星号括号给弄晕,有了一些速判技巧就能从整体上把握从而不慌乱. JS正则快速判断技巧的核心就是:注意圆括号和问号.这已经能够应付大部分实际应用了.   一.圆括号 众所周知,正则中中括号表示范围,大括号表示重复次数,圆括号表示分组. 圆括号表示分组,但是分组内还有很多文章,细分一下:       (1):圆括号本身表示分组,同时会保存匹配的

JavaScript面向对象程序设计教程_javascript技巧

JavaScript中对象的定义为:无序属性的集合,其属性可以包含基本值.对象或者函数.可以把对象想象成散列表,就是一组名值对(key:value),其中值可以是数据或函数,每个对象都是基于一个引用类型创建的. 理解对象 前面的博客里写过创建对象的方式有两种,一种是创建一个object的实例,另一种是使用对象字面量法: var person = new Object(); person.sex = man; person.name = bluce person.age = 58; person.

android快速开发框架XUtils update更新数据 无效

问题描述 android快速开发框架XUtils update更新数据 无效 最近学习XUtils发现 update更新数据库中的某个对象无效,好像第二次又可以了. 请问各位有遇到过这种情况吗

javascript正则匹配汉字、数字、字母、下划线

 javascript正则检测只含有汉字.数字.字母.下划线不能以下划线开头和结尾,需要的朋友可以参考下 javascript正则检测只含有汉字.数字.字母.下划线不能以下划线开头和结尾   遇到一个用户名检测的的问题,查了一下,总结例子如下:  代码如下: var reg = /^(?!_)(?!.*?_$)[a-zA-Z0-9_u4e00-u9fa5]+$/; if (!reg.test(实际取值的字符串)) {     alert('请输入5-24位字符:支持中文.英文.数字."_&quo

JavaScript正则方法replace实现搜索关键字高亮显示

前言 正则表达式是字符串处理工具中强有力的工具.也有人认为这只是一个小玩具,但不管怎么说都离不开它. 这里介绍的是JavaScript的正则表达式的replace方法 ,和实现搜索关键字高亮的功能. 先介绍一下正则表达式的replace方法 replace介绍 w3school原文链接介绍 正则表达式如何使用特殊字符$来表示原来的文本,这是实现搜索高亮的关键, var str = "asad sad 123 sd qwe21"; str.replace(/\d+/img,"数

javascript正则匹配从左往右等于从右往左的字符串

问题描述 javascript正则匹配从左往右等于从右往左的字符串 如果需要匹配一个从左往右读,或者从右往左读都一样的文本该如何匹配? 例如: abcdefgfedcba 解决方案 alert(/^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?).?987654321$/.test('abcdefgfedcba')) http://blog.csdn.net/wusuopubupt/article/details/17507401

JavaScript核心参考教程--内置对象

博学,切问,近思--詹子知 (https://jameszhan.github.io) JavaScript 是根据 "ECMAScript"标准制定的网页脚本语言.这个标准由 ECMA 组织发展和维护.ECMA-262 是正式的 JavaScript 标准.这个标准基于 JavaScript (Netscape) 和 JScript (Microsoft).Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 1996 年开始,已经出现在