javascript - 为什么 blogspot 在 JS 上返回 false 结果?
问题描述
这是一个僧伽罗语音译转换器。它返回错误的输出。例如:如果我输入m,它必须返回ම්,但它会重新运行ම්
。我不知道为什么它会提供额外්
的相同代码在codepen中运行良好,但在 Blogspot 中却不行。
JS是
vowelsUni[0]='ඌ'; vowels[0]='oo'; vowelModifiersUni[0]='ූ'; vowelsUni[1]='ඕ'; vowels[1]='o\\)'; vowelModifiersUni[1]='ෝ'; vowelsUni[2]='ඕ'; vowels[2]='oe'; vowelModifiersUni[2]='ෝ'; vowelsUni[3]='ආ'; vowels[3]='aa'; vowelModifiersUni[3]='ා'; vowelsUni[4]='ආ'; vowels[4]='a\\)'; vowelModifiersUni[4]='ා'; vowelsUni[5]='ඈ'; vowels[5]='Aa'; vowelModifiersUni[5]='ෑ'; vowelsUni[6]='ඈ'; vowels[6]='A\\)'; vowelModifiersUni[6]='ෑ'; vowelsUni[7]='ඈ'; vowels[7]='ae'; vowelModifiersUni[7]='ෑ'; vowelsUni[8]='ඊ'; vowels[8]='ii'; vowelModifiersUni[8]='ී'; vowelsUni[9]='ඊ'; vowels[9]='i\\)'; vowelModifiersUni[9]='ී'; vowelsUni[10]='ඊ'; vowels[10]='ie'; vowelModifiersUni[10]='ී'; vowelsUni[11]='ඊ'; vowels[11]='ee'; vowelModifiersUni[11]='ී'; vowelsUni[12]='ඒ'; vowels[12]='ea'; vowelModifiersUni[12]='ේ'; vowelsUni[13]='ඒ'; vowels[13]='e\\)'; vowelModifiersUni[13]='ේ'; vowelsUni[14]='ඒ'; vowels[14]='ei'; vowelModifiersUni[14]='ේ'; vowelsUni[15]='ඌ'; vowels[15]='uu'; vowelModifiersUni[15]='ූ'; vowelsUni[16]='ඌ'; vowels[16]='u\\)'; vowelModifiersUni[16]='ූ'; vowelsUni[17]='ඖ'; vowels[17]='au'; vowelModifiersUni[17]='ෞ'; vowelsUni[18]='ඇ'; vowels[18]='/\a'; vowelModifiersUni[18]='ැ'; vowelsUni[19]='අ'; vowels[19]='a'; vowelModifiersUni[19]=''; vowelsUni[20]='ඇ'; vowels[20]='A'; vowelModifiersUni[20]='ැ'; vowelsUni[21]='ඉ'; vowels[21]='i'; vowelModifiersUni[21]='ි'; vowelsUni[22]='එ'; vowels[22]='e'; vowelModifiersUni[22]='ෙ'; vowelsUni[23]='උ'; vowels[23]='u'; vowelModifiersUni[23]='ු'; vowelsUni[24]='ඔ'; vowels[24]='o'; vowelModifiersUni[24]='ො'; vowelsUni[25]='ඓ'; vowels[25]='I'; vowelModifiersUni[25]='ෛ'; nVowels=26; specialConsonantsUni[0]='ං'; specialConsonants[0]=/\\n/g; specialConsonantsUni[1]='ඃ'; specialConsonants[1]=/\\h/g; specialConsonantsUni[2]='ඞ'; specialConsonants[2]=/\\N/g; specialConsonantsUni[3]='ඍ'; specialConsonants[3]=/\\R/g; //special characher Repaya specialConsonantsUni[4]='ර්'+'\u200D'; specialConsonants[4]=/R/g; specialConsonantsUni[5]='ර්'+'\u200D'; specialConsonants[5]=/\\r/g; consonantsUni[0]='ඬ'; consonants[0]='nnd'; consonantsUni[1]='ඳ'; consonants[1]='nndh'; consonantsUni[2]='ඟ'; consonants[2]='nng'; consonantsUni[3]='ථ'; consonants[3]='Th'; consonantsUni[4]='ධ'; consonants[4]='Dh'; consonantsUni[5]='ඝ'; consonants[5]='gh'; consonantsUni[6]='ඡ'; consonants[6]='Ch'; consonantsUni[7]='ඵ'; consonants[7]='ph'; consonantsUni[8]='භ'; consonants[8]='bh'; consonantsUni[9]='ශ'; consonants[9]='sh'; consonantsUni[10]='ෂ'; consonants[10]='Sh'; consonantsUni[11]='ඥ'; consonants[11]='GN'; consonantsUni[12]='ඤ'; consonants[12]='KN'; consonantsUni[13]='ළු'; consonants[13]='Lu'; consonantsUni[14]='ද'; consonants[14]='dh'; consonantsUni[15]='ච'; consonants[15]='ch'; consonantsUni[16]='ඛ'; consonants[16]='kh'; consonantsUni[17]='ත'; consonants[17]='th'; consonantsUni[18]='ට'; consonants[18]='t'; consonantsUni[19]='ක'; consonants[19]='k'; consonantsUni[20]='ඩ'; consonants[20]='d'; consonantsUni[21]='න'; consonants[21]='n'; consonantsUni[22]='ප'; consonants[22]='p'; consonantsUni[23]='බ'; consonants[23]='b'; consonantsUni[24]='ම'; consonants[24]='m'; consonantsUni[25]='ය'; consonants[25]='\\u005C' + 'y'; consonantsUni[26]='ය'; consonants[26]='Y'; consonantsUni[27]='ය'; consonants[27]='y'; consonantsUni[28]='ජ'; consonants[28]='j'; consonantsUni[29]='ල'; consonants[29]='l'; consonantsUni[30]='ව'; consonants[30]='v'; consonantsUni[31]='ව'; consonants[31]='w'; consonantsUni[32]='ස'; consonants[32]='s'; consonantsUni[33]='හ'; consonants[33]='h'; consonantsUni[34]='ණ'; consonants[34]='N'; consonantsUni[35]='ළ'; consonants[35]='L'; consonantsUni[36]='ඛ'; consonants[36]='K'; consonantsUni[37]='ඝ'; consonants[37]='G'; consonantsUni[38]='ඨ'; consonants[38]='T'; consonantsUni[39]='ඪ'; consonants[39]='D'; consonantsUni[40]='ඵ'; consonants[40]='P'; consonantsUni[41]='ඹ'; consonants[41]='B'; consonantsUni[42]='ෆ'; consonants[42]='f'; consonantsUni[43]='ඣ'; consonants[43]='q'; consonantsUni[44]='ග'; consonants[44]='g'; //last because we need to ommit this in dealing with Rakaransha consonantsUni[45]='ර'; consonants[45]='r'; specialCharUni[0]='ෲ'; specialChar[0]='ruu'; specialCharUni[1]='ෘ'; specialChar[1]='ru'; //specialCharUni[2]='්ර'; specialChar[2]='ra';
函数 startText() { var s,r,v; 文本 = document.txtBox.box1.value; // (var i=0; i//consonents + HAL for (var i=0; i<consonants.length; i++){ r = new RegExp(consonants[i], "g"); text = text.replace(r, consonantsUni[i]+"්"); } //vowels for (var i=0; i<vowels.length; i++){ r = new RegExp(vowels[i], "g"); text = text.replace(r, vowelsUni[i]); } document.txtBox.box2.value=text; }
// 结束 --> 的特殊辅音
<body onload="javascript:txtBox.box1.focus();">
<table width="100%" border="0"><form name="txtBox" id="txtBox">
<tr>
<td>
<em>Input</em></td>
</tr>
<tr>
<td width="100%"><textarea onkeyup="startText();" onselect="startText();" onclick="startText();" style="font-size: 12pt; width: 100%;" name="box1" rows="8"></textarea>
</td>
</tr>
<tr>
<td><input type="reset" value="Reset" style="position: relative; center: width: 100px;"></td>
</tr>
<tr>
<td><em>Sinhala Unicode</em></td>
</tr>
<tr>
<td><textarea name="box2" rows="8" readonly="readonly" style="font-size: 14pt; font-family: Potha, Malithi Web , Arial Unicode MS; width: 100%;"></textarea></td>
</tr>
</form>
</table>
<p><strong>
</body>
请检查两个链接;一个在 blogspot 上,另一个在 codepen 上。上面第 1 段给出了两个链接。
解决方案
for (var i=0; i<consonants.length; i++){
r = new RegExp(consonants[i], "g");
text = text.replace(r, consonantsUni[i]+"්");
}
问题出在这个 for 循环末尾的“#”处。浏览器将此表情符号转换为字符实体代码(在这种情况下,它是්
<-- 如果我不是在代码块中键入它,# 就是它的样子)。
这可以通过使用Javascript 中的String.fromCharCode()方法来解决。这是您应该改用的:
for (var i=0; i<consonants.length; i++){
r = new RegExp(consonants[i], "g");
text = text.replace(r, consonantsUni[i] + String.fromCharCode(3530));
}
我希望这有帮助!
推荐阅读
- javascript - 在反应中访问父组件之外的组件的子道具
- python - 如何在不提及半径的情况下找到城市中的所有餐厅
- clickhouse - clickhouse-copier 可以在集群版本 20.3.8 中工作
- swift - XCODE 13 创建自己的具有依赖关系的框架
- spring-cloud - Spring cloud openfeign 3.0.1回退未被触发
- node.js - 为什么拦截器中的 config.headers 可能未定义
- google-data-studio - 过滤数据时防止调用cummunity连接器的getData
- python - 如何从 .csv 文件中提取特定数据并使用 Python 将其存储在变量中
- javascript - 使用 p5.js 和 JavaScript 测量按键按下的时间
- c++ - 使用 range::copy_if 与使用带有 views::filter 的迭代器构造函数