在Javascript中替换变音符号 [英] Replacing diacritics in Javascript

查看:107
本文介绍了在Javascript中替换变音符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在javascript中用普通形式(a,s,t)替换变音符号(ă,ş,ţ等)?

How can I replace diacritics (ă,ş,ţ etc) with their "normal" form (a,s,t) in javascript?

推荐答案

如果你想在客户端完全做到这一点,我认为你唯一的选择是使用某种查找表。这是一个起点,由一个名叫Olavi Ivask的小伙子写在他的博客 ...

If you want to do it entirely on the client side, I think your only option is with some kind of lookup table. Here's a starting point, written by a chap called Olavi Ivask on his blog...

function replaceDiacritics(s)
{
    var s;

    var diacritics =[
        /[\300-\306]/g, /[\340-\346]/g,  // A, a
        /[\310-\313]/g, /[\350-\353]/g,  // E, e
        /[\314-\317]/g, /[\354-\357]/g,  // I, i
        /[\322-\330]/g, /[\362-\370]/g,  // O, o
        /[\331-\334]/g, /[\371-\374]/g,  // U, u
        /[\321]/g, /[\361]/g, // N, n
        /[\307]/g, /[\347]/g, // C, c
    ];

    var chars = ['A','a','E','e','I','i','O','o','U','u','N','n','C','c'];

    for (var i = 0; i < diacritics.length; i++)
    {
        s = s.replace(diacritics[i],chars[i]);
    }

    document.write(s);
}

你可以看到这只是一个已知变音字符的正则数组,映射他们回到了普通角色。

You can see this is simply an array of regexes for known diacritic chars, mapping them back onto a "plain" character.

这篇关于在Javascript中替换变音符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆