为什么 blogspot return false 在 JS 上的结果?
Why does blogspot return false result on JS?
这是一个 Sinhalese Transliteration Convertor. It returns wrong output. Eg: If I enter m, it must return ම්, but it reruns ම්
. I don't know why it gives additional ්
The same code is working well in 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';
function startText() {
var s,r,v;
text = document.txtBox.box1.value;
//special consonents
for (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; }
// End -->
<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));
}
希望对您有所帮助!
这是一个 Sinhalese Transliteration Convertor. It returns wrong output. Eg: If I enter m, it must return ම්, but it reruns ම්
. I don't know why it gives additional ්
The same code is working well in 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';
function startText() { var s,r,v; text = document.txtBox.box1.value; //special consonents for (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; }
// End -->
<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));
}
希望对您有所帮助!