基本语法 :
1. 方式一
/expression/ 正则表达式模式 (expression) 均存储在RegExp 对象的Pattern 属性中。
//下面是通过String对象的match方法 进行匹配
var codeText = document.getElementById('code').value;
// /expression/ 匹配2位数字 例如 :00 , 01, 10 等
var result = codeText.match(/^[0-9]{2}$/g);
if(result)
{
alert('匹配成功');
}
else
{
alert('匹配不成功');
}
// 注 正则表达式模式 规范 //
//其中 g 表示匹配模式 全文匹配 result 是返回的匹配数组 ,如果match方法没有匹配成功 ,则返回 null
//i 表示忽略大小写
2. 方式二
下面的例子 和上面的是一样的,只是直接用RegExp对象
function matchDemo(){ var s; var re = new RegExp("^[0-9]{2}$",""); var codeText = document.getElementById('code').value; var result = re.exec(codeText); if(result) { alert('匹配成功'); } else { alert('匹配不成功'); }}
其中 RegExp对象 构造 参数 第一个是 表达式 ,不需要斜杠了 。第二个参数是 g或者i 不写 默认为g 全文的
在这里 的 new RegExp("^[0-9]{2}$","g") 与 /^[0-9]{2}$/g 等价的
来点简单应用
function Ltrim(value) { return value.replace(/(^\s*)/g, ""); }
function Rtrim(value) { return value.replace(/(\s*$)/g, ""); }
以下来自资料
RegExp 对象
保存有关正则表达式模式匹配信息的固有全局对象。
RegExp.property
必选项 property 参数是 RegExp 对象的任意一个属性。
说明
RegExp 对象不能直接创建,但始终可以使用。在成功的正则表达式查找完成之前,RegExp 对象各属性的初始值如下所示:
属性 | 简写 | 初始值 |
---|---|---|
index | -1 | |
lastIndex | -1 | |
lastMatch | $& | 空字符串。 |
lastParen | $+ | 空字符串。 |
leftContext | 空字符串。 | |
rightContext | 空字符串。 | |
$1 - $9 | $1 - $9 | 空字符串。 |
在成功的正则表达式查找完成之前,其属性值为 undefined。
不要将全局 RegExp 对象与 正则表达式 对象混淆。尽管听起来像是一回事,但它们是截然不同的。全局 RegExp 对象的属性包含不断更新的关于每个匹配出现的信息,而正则表达式对象只包含出现正则表达式匹配的信息。
示例
下面的例子演示了全局 RegExp 对象的用法。
function matchDemo(){
var s;
var re = new RegExp("d(b+)(d)","ig");
var str = "cdbBdbsbdbdz";
var arr = re.exec(str);
s = "$1 contains: " + RegExp.$1 + "\n";
s += "$2 contains: " + RegExp.$2 + "\n";
s += "$3 contains: " + RegExp.$3;
return(s);
}
其中全局的REgExp和自己new的 是有区别的