Javascript中的正则表达式——详解
每次用的时候都要找一遍资料,琢磨一遍语法,不胜其烦,终于下定决心把他们都记下来,一次性搞定,永绝后患!:)
一、什么是正则表达式?
简单地说,就是基于字符串的模式匹配工具。实际应用中包括字符串的查找、提取、替换等等。
二、基本语法
Javascript中的正则表达式的形式一般如下:
/……/
其中“/”为定界符,两个“/”中为模式字符串,也就是用户将要查找的对象的模式,如:/a?b+c*/。该表达式表示的字符串的构成模式为:0个或1个a开头,接着是1个以上的b,最后是任意个c(含0个),如b,ab,bc,abc,bb,abb,abbcc,……。
1.重复匹配语法
在上述表达式中有3个最常用的模式表示符“?”、“+”、“*”,正则表达式中称为“元字符”,他们的含义如下:
“?”:本字符前面的字符(或字符串或表达式)只能出现0次或1次;
“+”:本字符前面的字符(或字符串或表达式)最少出现1次;
“*”:本字符前面的字符(或字符串或表达式)可以出现任意次。
上面的3个元字符模式是固定的,并不灵活,如果要手工定制,可以使用如下模式:
{n}:n >= 0,匹配n次,如'o{2}',能匹配food,但不能匹配Tom。
{n,}:n >= 0,匹配n次以上,如'o{2,}',可以匹配food,foood,fooood,……。
{n,m}:n >= 0,m >= 0, n <= m ,最少匹配n次且最多匹配m次,如'o{2,3}',可以匹配food,foood。
以上介绍的为重复匹配语法,总结如下:
重复语法
语法解释
语法例子
?
匹配0或1次
5?匹配5或0,不匹配非5和0
+
匹配一次或多次
\S+匹配一个以上\S,不匹配非一个以上\S
*
匹配0次以上
\W*匹配0以上\W,不匹配非N*\W
{n}
匹配n次字符
\d{3}匹配\d\d\d,不匹配\d\d或\d\d\d\d
{n,}
匹配n次和n次以上
\w{2}匹配\w\w和\w\w\w以上,不匹配\w
{n,m}
匹配n次上m次下
\s{1,3}匹配\s,\s\s,\s\s\s,不匹配\s\s\s\s
各种匹配语法的使用方法与上面类似,不再详述,罗列如下:
2.字符匹配语法:
字符语法
语法解释
语法例子
\d
匹配数字(0~9)
‘\d’匹配8,不匹配12;
\D
匹配�
相关文档:
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
Javascript语言的特殊之处,就在� ......
最短的拖动代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script l ......
假设 obj 为某个 HTML 控件。
obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。
obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。
obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。
obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。
我们对前面提到的“ ......
1判断select选项中 是否存在Value="paraValue"的Item
2向select选项中 加入一个Item
3从select选项中 删除一个Item
4删除select中选中的项
5修改select选项中 value="paraValue"的text为"paraText"
6设置select中text="paraText"的� ......
继承机制,说到继承,就要想到从基类开始,但是JavaScript中的类有两大类:一,内嵌的;二,用户自定义;一般前者不会被用来做基类,原因是为了保障js的安全。但是我们可以通过prototype来对基类进行扩充,增加我们想要的属性和方法。以下是自己对继承的几种方式的理解。
1> 对象 ......