jQuery:将字符串转换为类似于 Shopify 的 Handleize 的“句柄”

Cor*_*rey 1 javascript jquery shopify

我正在尝试做与 Shopify 的“handleize”对字符串所做的相同的事情,但使用 jQuery。

https://docs.shopify.com/themes/liquid-documentation/filters/string-filters#handle

基本上我想将任何字符串转换为句柄,所以

你好,我叫科里。

会成为

你好,我的名字是科里

使用 jQuery 函数。

Dra*_*18s 5

嗯,你真的会用正则表达式和字符串替换来做到这一点,而不是 jQuery。

var name = "Hello, my name is Corey.";
name = name.toLowerCase().replace(/ /g,'-');
Run Code Online (Sandbox Code Playgroud)

您还需要删除所有其他非字母数字字符,例如不可见字符、大多数 unicode 等,因为它们很可能会导致类似问题。

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

  • 实际上你需要像@grim 建议的那样删除非字母数字字符和相邻的破折号,所以`name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/-$/, '').replace(/^-/, '');` (3认同)