Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:将字符串转换为“句柄”,类似于Shopify的Handleize_Javascript_Jquery_Shopify - Fatal编程技术网

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

Javascript jQuery:将字符串转换为“句柄”,类似于Shopify的Handleize,javascript,jquery,shopify,Javascript,Jquery,Shopify,我正试图做与Shopify的handleize对字符串所做的相同的事情,但是使用jQuery 基本上我想把任何字符串转换成句柄,所以 你好,我叫科里 将成为 你好,我叫科里 使用jQuery函数。实际上,您应该使用正则表达式和字符串替换,而不是jQuery var name = "Hello, my name is Corey."; name = name.toLowerCase().replace(/ /g,'-'); 您还需要删除所有其他非字母数字字符,例如不可见字符、大多数unicode

我正试图做与Shopify的handleize对字符串所做的相同的事情,但是使用jQuery

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

你好,我叫科里

将成为

你好,我叫科里


使用jQuery函数。

实际上,您应该使用正则表达式和字符串替换,而不是jQuery

var name = "Hello, my name is Corey.";
name = name.toLowerCase().replace(/ /g,'-');
您还需要删除所有其他非字母数字字符,例如不可见字符、大多数unicode字符等,因为这极有可能导致类似问题

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

实际上,您应该使用正则表达式和字符串替换,而不是jQuery

var name = "Hello, my name is Corey.";
name = name.toLowerCase().replace(/ /g,'-');
您还需要删除所有其他非字母数字字符,例如不可见字符、大多数unicode字符等,因为这极有可能导致类似问题

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

我做了一个小的jQuery扩展,在您键入文本输入并输出结果时对字符串进行slagify:

jquery.slug.js:

用法:


我做了一个小的jQuery扩展,在您键入文本输入并输出结果时对字符串进行slagify:

jquery.slug.js:

用法:


我不知道为什么这个答案被否决了。与上面接受的答案相反,这个解决方案实际上从输出中删除了非字母数字字符和相邻的破折号。我不知道为什么这个答案被否决。与上面接受的答案相反,此解决方案实际上从输出中删除了非字母数字字符和相邻破折号。实际上,您需要删除非字母数字字符和相邻破折号,如@grim建议的so name.toLowerCase.replace/[^a-z0-9]+/g',-'。replace/-$/,.replace/^-/;实际上,您需要删除非字母数字字符和相邻的破折号,如@grim建议的so name.toLowerCase.replace/[^a-z0-9]+//g'-'。replace/-$/,.replace/^-/;