Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换克罗地亚变音字符_Javascript_String_Replace - Fatal编程技术网

Javascript 替换克罗地亚变音字符

Javascript 替换克罗地亚变音字符,javascript,string,replace,Javascript,String,Replace,我有一个脚本,人们把他们的名字和脚本生成不同的名字,根据他们的真名的第一个字符 var firstNm = document.getElementById("Ime").value.toUpperCase(); 我在65-90(A-Z)的数组中有这些新名称。 获取第一个字母的过程如下所示: var firstNum = firstNm.charCodeAt(0) - 65; if (firstNum < 0 || firstNum > 25) { v

我有一个脚本,人们把他们的名字和脚本生成不同的名字,根据他们的真名的第一个字符

    var firstNm = document.getElementById("Ime").value.toUpperCase();
我在65-90(A-Z)的数组中有这些新名称。 获取第一个字母的过程如下所示:

var firstNum = firstNm.charCodeAt(0) - 65;
    if (firstNum < 0 || firstNum > 25) {
        validName = false;

对不起,伙计们,谢谢你们的帮助,我通过添加这样的函数解决了自己的问题

function zamjenaZnakovaI(){
var tekst = document.getElementById("Ime").value;
tekst.indexOf( 'Č' ) == 0? tekst = tekst.replace( 'Č', 'C' ) : 
tekst.indexOf( 'č' ) == 0? tekst = tekst.replace( 'č', 'c' ) : 
tekst.indexOf( 'Ć' ) == 0? tekst = tekst.replace( 'Ć', 'C' ) : 
tekst.indexOf( 'ć' ) == 0? tekst = tekst.replace( 'ć', 'c' ) : 
tekst.indexOf( 'Š' ) == 0? tekst = tekst.replace( 'Š', 'S' ) : 
tekst.indexOf( 'š' ) == 0? tekst = tekst.replace( 'š', 's' ) : 
tekst.indexOf( 'Ž' ) == 0? tekst = tekst.replace( 'Ž', 'Z' ) :
tekst.indexOf( 'ž' ) == 0? tekst = tekst.replace( 'ž', 'z' ) :
tekst.indexOf( 'Đ' ) == 0? tekst = tekst.replace( 'Đ', 'D' ) :
tekst.indexOf( 'đ' ) == 0? tekst = tekst.replace( 'đ', 'd' ) :
tekst;
document.getElementById("Ime").value = tekst;
}
因为我只需要替换字符串中的第一个字母,而不是第五个或第四个

我调用了keyup上的函数

<input type="text" id="Ime" size="30"  onkeyup="zamjenaZnakovaI()"/>

也许有更好的解决方案,但这一个有效。 因此,如果其他任何人需要类似的东西,这里是一个方法在威奇可以做到


干杯,D.

您可以在

它将不在前127个ASCII字符中的Unicode字符转换为其ASCII等效字符


它可以处理您发布的字符(以及更多字符)。

鉴于Javascript中对Unicode的支持较差,我不确定您是否能够(轻松地)做到这一点。似乎工作正常。在Chrome和Firefox中测试究竟什么不起作用?我觉得很好。请提供一个带有错误代码的演示。@zneak:See例如(虽然不是性能替代品)@Bergi,此解决方案不考虑独立的变音符号。每个变音符号也作为独立字符存在,您可以将其作为后缀添加到任何字符中。
<input type="text" id="Ime" size="30"  onkeyup="zamjenaZnakovaI()"/>