日期:2008-12-31 浏览次数:20810 次
以下这些不是正则表达式的新增对象请参阅对应的javascript对象的属性 $_属性 参考input $*属性
myArray的内容 ["dbBd", "bB", "d"]
index
基于0的匹配index 1
input
原始字符串 cdbBdbsbz
[0]
最后匹配的字符 dbBd
[1], ...[n]
用圆括号括住的匹配字符串,如果有的话。不限制括号的个数。 [1] = bB
[2] = d
myRe
lastIndex
开始下次匹配操作的index值 5
ignoreCase
指出"i"是否使用以忽略大小写 true
global
指出是否使用"g"标记来进行匹配所有可能的字串 true
source
定义模式的文本字符串 d(b+)(d)
RegExp
lastMatch$&
最后匹配的字符 dbBd
leftContext$\Q
最新匹配前面的子串 c
rightContext$'
最新匹配后面的子串 bsbz
$1, ...$9
圆括号内的匹配子串,如果有的话。圆括号的个数不受限制,但RegExp只能保留最后9个 $1 = bB
$2 = d
lastParen $+
最后一个加上圆括号的匹配子串,如果有的话 d
假如你的正则表达式使用了"g"标记,你可以多次使用exec 方法来连续匹配相同的串。当你这样做
的时候,新的匹配将从由正则表达式的lastIndex 属性值确定的子串中开始。例如,假定你使用下面的脚本:
<SCRIPT LANGUAGE="javascript1.2"> myRe=/ab*/g;str = "abbcdefabh"
myArray = myRe.exec(str);
document.writeln("Found "+myArray[0]+". Next match starts at "+myRe.lastIndex)
mySecondArray = myRe.exec(str);
document.writeln("Found "+mySecondArray[0]+". Next match starts at "+myRe.lastIndex)
</SCRIPT> 这个脚本显示如下结果: Found abb. Next match starts at 3
Found ab. Next match starts at 9 例子:
在下面的例子中,用户输入一个名字,脚本根据输入执行匹配操作。接着检查数组看是否和其它用户的名字匹配。
本脚本假定已注册的用户的姓已经存进了数组A中,或许从一个数据库中取得。 <HTML>
<SCRIPT LANGUAGE="javascript1.2"> A = ["zhao","qian","sun","li","liang"]
function lookup() { firstName = /\w+/i(); if (!firstName)
window.alert (RegExp.input + "非法输入"); else { count=0;
for (i=0;i 输入你的姓然后按回车键。
<FORM><INPUT TYPE:"TEXT" NAME="FirstName" onChange="lookup(this);"></FORM>
</HTML> global属性 正则表达式中是否使用了"g"标记。 RegExp属性,只读
在javascript 1.2, NES 3.0以上版