5

我尝试使用 toUppercase() 方法将日文字符转换为大写,但它返回相同的字符串而不进行转换。

有没有其他方法可以使用 jquery 或 javascript 来做到这一点。

fieldValue = "ショウコ";              //japanese string.

function convertToUppercase(fieldValue)
{      
 convertedValue = fieldValue.toUpperCase();
 return convertedValue;
}

任何帮助将不胜感激!

4

3 回答 3

8

维基百科上有一个所有“小”字母(称为“youon”)的列表:

ぁぃぅぇぉっゃゅょゎァィゥェォヵㇰヶㇱㇲッㇳㇴㇵㇶㇷㇷ゚ㇸㇹㇺャュョㇻㇼㇽㇾㇿヮ

您可以使用switch 语句将它们转换为“大”等价物,为方便起见,我将在此处输入:

あいうえおつやゆよわアイウエオカクケシスツトヌハヒフプヘホムヤユヨラリルレロワ

请注意,当辅音变“大”时,它们的读法不一定相同。例如,何ヶ月读作“なんかげつ(nankagetsu)”,而不是“なんけげつ(nankegetsu)”。っ,表示下一个音节的声门停止,当它变大时读作“tsu”。

“大”元音表示它们需要有自己的音节长度。(这也有一个术语,但我不是语言学家——对不起!)

于 2012-09-26T19:02:43.187 回答
2

我对日文字符的名称有点无知,但我知道Sugar.js有很多方法可以操作和转换这些字符。它有zenkakuhankakuhiragana和等方法katakana

这是Sugarjs 的字符串 API的链接

于 2012-09-26T18:46:54.380 回答
0

感谢您的帮助并指导我正确的方式

最后我想出了这个解决方案。

    function convertBigKana(kanaVal){
        var smallKana = Array('ァ','ィ','ゥ','ェ','ォ','ヵ','ヶ','ㇱ','ㇲ','ッ','ㇳ','ㇴ','ㇵ','ㇶ','ㇷ','ㇸ','ㇹ','ㇺ','ャ','ュ','ョ','ㇻ','ㇼ','ㇽ','ㇾ','ㇿ','ヮ');
        var bigKana   = Array('ア','イ','ウ','エ','オ','カ','ケ','シ','ス','ツ','ト','ヌ','ハ','ヒ','フ','ヘ','ホ','ム','ヤ','ユ','ヨ','ラ','リ','ル','レ','ロ','ワ');
        var ckanaVal = '';
        for (var i = 0; i < kanaVal.length; i++){
            //var index = smallKana.indexOf(kanaVal.charAt(i)); //indexOf and stri[i] don't work on ie
            var index = jQuery.inArray(kanaVal.charAt(i), smallKana);
            if (index !== -1) {
                ckanaVal+= bigKana[index];
            }
            else
            {
                ckanaVal+= kanaVal.charAt(i);
            }
        }
        return ckanaVal;
    }
于 2012-09-27T20:52:16.610 回答