理顺 JavaScript (19) - 正则表达式对象 RegExp
2010-09-14 13:42:18 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

建立正则表达式的方法
var p1 = new RegExp("abc", "igm");
var p2 = RegExp("abc", "igm");
var p3 = /abc/igm;
//判断是否是正则表达式对象
alert(p1 instanceof RegExp); //true
alert(p2 instanceof RegExp); //true
alert(p3 instanceof RegExp); //true
正则表达式对象的 5 个属性
var p = /abc/igm;
//source: 表达式文本, 只读
alert(p.source); //abc
//ignoreCase: 是否有指定 i, 只读; i 表示不不区分大小写
alert(p.ignoreCase); //true
//global: 是否有指定 g, 只读; g 表示匹配全部
alert(p.global); //true
//multiline: 是否有指定 m, 只读; m 表示多行匹配
alert(p.multiline); //true
//lastIndex: 最好一次的匹配位置, 是可读写属性.
alert(p.lastIndex); //0; 在匹配之前它肯定是 0
正则表达式对象的 2 个方法之 test
//这个 test 非常简单, 它只能返回 true/false 表示是否找到匹配; 通过它了解不到更多信息
var str, p, b;
str = '1:abc;2:Abc;3:aBc;4:abC;5:ABc;6:aBC;7:AbC;8:ABC';
p = /abc/i;
b = p.test(str);
alert(b); //true; 表示有匹配到
p = /abcdefg/i;
b = p.test(str);
alert(b); //false; 表示没匹配到
//对 test 来讲, 是否指定 g(全局匹配) 是没有意义的; 因为它有发现就返回.
Tags:理顺 JavaScript 正则
编辑录入:爽爽 [复制链接] [打 印]赞助商链接