<script type="text/javascript">
$("#title").keyup(function () {
var str = $(this).val();
var trimmed=$.trim(str)
var slug=trimmed.replace(/[^a-z0-9-]/gi, '-').
replace(/-+/g, '-').
replace(/^-|-$/g, '');
var check =slug.toLowerCase();
$("#slug").val(slug.toLowerCase());
});
</script>
我能够转换英文字母数字。但无法转换印地语字体,例如:
अत्याधुनिक प्रविधि भित्र्याइँदै
最佳答案
您的功能按预期工作:
- 您将所有非字母数字字符替换为连字符。您的示例字符串看起来像
-------------
- 然后删除重复的连字符,这将为您提供
-
. - 最后,您 trim 字符串开头或结尾的连字符。这会给你一个空字符串。
如果你在这个字符串上尝试你的函数:अत्याधुनिक aze aze प्रविधि भित्र्याइँदै
你会得到 aze-aze
.
也许您应该看看音译库,例如 https://github.com/andyhu/transliteration
这个库提供了一个函数 slugify
您可以在印地语字符串上使用它来获取字母数字字符串。
slugify('अत्याधुनिक प्रविधि भित्र्याइँदै')
会给 "atyaadhunik-prvidhi-bhitryaaindai"
关于javascript - 印地语字体 slug 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51872578/