String.Match()没有RegEX

Was*_*abi 0 javascript

在下面的代码片段中,我不确定如何将RegEx分配给match(),是否总是需要RegEx?:

- - - - - 比赛 - - - - - -

case 'remove':
var rep=o.className.match(' '+c1)?' '+c1:c1;
o.className=o.className.replace(rep,'');
break;
Run Code Online (Sandbox Code Playgroud)

------全 - 代码--------------

function cssjs(a,o,c1,c2){
switch (a){
case 'swap':
if(!domtab.cssjs('check',o,c1)){
o.className.replace(c2,c1)
}else{
o.className.replace(c1,c2);
}
break;
case 'add':
if(!domtab.cssjs('check',o,c1)){
o.className+=o.className?' '+c1:c1;
}
break;
case 'remove':
var rep=o.className.match(' '+c1)?' '+c1:c1;
o.className=o.className.replace(rep,'');
break;
case 'check':
var found=false;
var temparray=o.className.split(' ');
for(var i=0;i<temparray.length;i++){
if(temparray[i]==c1){found=true;}
}
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 5

将字符串传入match其中与将结果传递到其中相同new RegExp(s)(s字符串在哪里).例如,这些完全相同:

a = str.match("foo");
a = str.match(new RegExp("foo"));
Run Code Online (Sandbox Code Playgroud)

标准:

  1. 如果Type(regexp)Object和的值[[Class]]的正则表达式的内部属性是"正则表达式",则让rxregexp;
  2. 另外,让我们创建rx一个新RegExp对象,就像表达式new RegExp( regexp)where那样RegExp是具有该名称的标准内置构造函数.