我想基本上有一个Title字段和一个Title字段。
所以基本上用户输入一个电影名称:“From Paris With Love”,它将在下面的字段中作为“来自巴黎与爱”。
然而,我想知道是否已经有类似的东西,并且知道有人会知道! ;)
编辑:
答案 0 :(得分:4)
我在自己的应用程序中做了类似的事情。还有一些服务器端代码,用于验证生成的值,但我创建了一个JavaScript帮助程序来执行客户端“Urlify”。它将用' - '替换'',':','\'和'/',然后删除所有非字母数字字符,最后清除多个' - '旁边的任何实例。侧的。
function FormatForUrl(str) {
return str.replace(/_/g, '-')
.replace(/ /g, '-')
.replace(/:/g, '-')
.replace(/\\/g, '-')
.replace(/\//g, '-')
.replace(/[^a-zA-Z0-9\-]+/g, '')
.replace(/-{2,}/g, '-')
.toLowerCase();
};
答案 1 :(得分:3)
您可以使用JavaScript函数encodeURIComponent,它将替换空格以及不能在URL中使用的任何其他字符。
参考: https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Global_Functions:encodeURIComponent
答案 2 :(得分:1)
一种非常简单的方法是使用破折号删除所有非字母数字字符:
$(":input").bind("keyup", function(){
$(".seo").text( $(this).val().replace(/[^a-z0-9]+/gi, "-") );
});
转换 Jonathan告诉你,世界到 jonathan-says-hello-world 。
答案 3 :(得分:0)
Django项目使用了一个很好的urlify库。我认为许可证是BSD或麻省理工学院。你需要检查一下。您可以在此处找到它:http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/media/js/urlify.js
该脚本将删除不必要的字符,用短划线替换空格,并将其他字符替换为重音和其他特殊字符。
我使用jquery的方式我检查标题文本框失去焦点并更新我的网址
//Note i have modify that URLify method to accept one argument instead of 2, don't need length
$(document).ready(function() {
$('#Title').focusout(function() {
$('#Permalink').val(URLify($(this).val()));
});
});
答案 4 :(得分:0)
这是我使用的那个。
$.fn.slug = function(){
return this
.val()
.replace(/[^a-zA-Z 0-9-]+/g,'')
.toLowerCase()
.replace(/s/g,'-')
};