2008-10-25 3 views

ответ

4

И сделать это таким образом, где вы можете сделать это прямо из массива:

<script type="text/javascript"> 
function toconv(string){ 
    var gogo = {"a":"b", "cd":"e"}, reg; 
    for(x in gogo) { 
     reg = new RegExp(x, "g"); 
     string.replace(x, gogo[x]); 
    } 
    return string; 
} 
</script> 
+0

Спасибо за редактирования, nickf, Я явно пропустил возвращаемую стоимость! -) – roenving 2008-10-25 13:36:52

2

String.replace() в Javascript принимает регулярные выражения вместо строк, и вот перевод. Вам нужно добавить модификатор g в регулярное выражение для замены всех вхождений, а не только первого.

<script> 
function toconv(str) { 
    replacements = ['b','e']; 
    regexes = [/a/g,/cd/g]; 

    for (i=0; i < regexes.length; i++) { 
     str = str.replace(regexes[i],replacements[i]); 
    } 
    return str; 
} 

alert(toconv('acdacd')); 
alert(toconv('foobar')); 
</script> 
-1

Преобразование PHP Функция JavaScript

if (preg_match('/0/', $check) || preg_match('/1/', $check) || preg_match('/2/', $check) || preg_match('/3/', $check) || preg_match('/4/', $check) || preg_match('/5/', $check) || preg_match('/6/', $check) || preg_match('/7/', $check) || preg_match('/8/', $check) || preg_match('/9/', $check)) 
{ 
    exception("personal info not allowed"); 
    redirect(base_url() . 'edit_profile'); 
} 
else if ((preg_match("~\[email protected]\b~",$check)) || (preg_match("~\b.net\b~",$check)) || (preg_match("~\b.com\b~",$check)) || (preg_match("~\[email protected]\b~",$check)) || (preg_match("~\b.edu\b~",$check)) || (preg_match("~\b.gov\b~",$check))) 
{ 
    exception("personal info not allowed"); 
    redirect(base_url() . 'edit_profile'); 
} 
Смежные вопросы