Jquery参数化类似于rails中的参数化方法的字符串

use*_*645 9 javascript jquery

jquery是否具有参数化方法,如rails参数化?我想使用jQuery参数化字符串,例如:

"Jonh [ Doe ] " => "john-doe"

" John ( Doe )" => "john-doe"

"{ John } Doe / " => "john-doe"
Run Code Online (Sandbox Code Playgroud)

我知道,可以用toLowerCase().replace(),但我想最好的做法去做.现在我使用这个脚本

toLowerCase().replace(/\[|\]|\(|\)|\{|\}|\\|\//g, '').replace(/\s/g, '-')
Run Code Online (Sandbox Code Playgroud)

要么

toLowerCase().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-')
Run Code Online (Sandbox Code Playgroud)

但结果看起来像这样

"{ John } Doe / " => "-john--doe--"
Run Code Online (Sandbox Code Playgroud)

Ram*_*far 20

试试这个

.toLowerCase().replace(/[^a-z0-9]+/g,'-').replace(/(^-|-$)/g,'');
Run Code Online (Sandbox Code Playgroud)