2010-06-11 75 views
1

如果有人幻想帮了我一个非常快的青睐,这将非常感激:快[PHP函数] - > [javascript函数]问题

static function make_url_safe($z){ 
    $z = strtolower($z); 
    $z = preg_replace('/[^a-zA-Z0-9\s] /i', '', $z); 
    $z = str_ireplace(' ', '-', $z); 
    return $z; 
} 

什么JS的功能,我应该看着这个函数转换到JavaScript?

回答

6
var s = 'Abc- sdf%$987234'.toLowerCase(); 
s.replace(/[^a-z0-9\s]+/g, '').replace(/ /g, '-'); 

这不是一个确切等同,因为你原来的功能意义不大:使用i标志将字符串转换成小写后,使用a-zA-Zi国旗小写字符串,随机字符类后空间,空间作为第一参数的str_ireplace

+0

是的,我刚刚发现,A-Z和我! 谢谢! – Haroldo 2010-06-11 11:19:28

1

并不等同,但使得字符串URL安全的共同目标:
encodeURIencodeURIComponent

+0

我需要做一个__exact equivalent__。因此,而不是使用内置的URL编码功能,我需要使用一些较小的原生js函数,如.replace(),结合起来使我的make_urol_safe()函数 – Haroldo 2010-06-11 10:21:27

+0

在这种情况下,请使用@SilentGhosts答案。 – deceze 2010-06-11 10:28:08

1
function makeURLSafe(z){ 
    return z.toLowerCase().replace(/[^a-z0-9\s]+/g, '').replace(/ /g, '-'); 
}