Javascript Регулярен израз

var $ESCAPE = /([\/()[\]?{}|*+-])/g;
function regEscape($string) {
return $string.replace($ESCAPE, "\\$1");
};

// new RegExp вместо eval
// използвай regEscape ако добавяш само текст, а
// не regexp синтаксис
str.replace( new RegExp("/"+regEscape(enl)+"/g"), bgl );

Не знам с каква цел ползваш това, но тотално ти срива производителността. В ситуацията ми се струва, че не са ти нужни регулярни изрази. А ако е все пак са нужни по-добре си ги създай предварително и подавай референции, а не ги пресъздавай всеки път.
 
I_V_O каза:
var $ESCAPE = /([\/()[\]?{}|*+-])/g;
function regEscape($string) {
return $string.replace($ESCAPE, "\\$1");
};

// new RegExp вместо eval
// използвай regEscape ако добавяш само текст, а
// не regexp синтаксис
str.replace( new RegExp("/"+regEscape(enl)+"/g"), bgl );

Не знам с каква цел ползваш това, но тотално ти срива производителността. В ситуацията ми се струва, че не са ти нужни регулярни изрази. А ако е все пак са нужни по-добре си ги създай предварително и подавай референции, а не ги пресъздавай всеки път.


Целта ми е да сменя едни символи с други. :]

regEscape is not defined
[Break on this error] for (i=0;i<enl.length;i++) str = ..."+regEscape(enl)+"/g"), bgl);
 
Код:
var $ESCAPE = /([\/()[\]?{}|*+-])/g; 
function regEscape($string) { 
return $string.replace($ESCAPE, "\\$1"); 
};

Този код не си сложил.
 
I_V_O каза:
Код:
var $ESCAPE = /([\/()[\]?{}|*+-])/g; 
function regEscape($string) { 
return $string.replace($ESCAPE, "\\$1"); 
};

Този код не си сложил.

Пак същото :/
Ето целия код:
var $ESCAPE = /([\/()[\]?{}|*+-])/g;
function regEscape($string) {
return $string.replace($ESCAPE, "\\$1");
}
var bgl = new Array("ш","А","Б","Ц","Д","Е","Ф","Г","С","И","Ж","К","Л","М","Н","О","П","Я","Р","С","Т","Ъ","В","Л","Х","У","З","а","б","ц","д","е","ф","г","х","и","ж","к","л","м","н","о","п","я","р","с","т","ъ","в","л","х","у","з","ч","ш","ч","ш","щ","ю","ч","х","щ","щ");
var enl = new Array("sh","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","4","6","~","\\[","\\]","\\\","ch","x","шт","sht");
function entobg(str) {
str = ""+str;
for(i=0;i<enl.length;i++) str = str.replace(new RegExp("/"+regEscape(enl)+"/g"), bgl);
return str;
}
 

Back
Горе