Javascript 如何改变文本框的字符?

Javascript how to change character on textbox?

我想试试这个代码,但作者的方式,而不是工作形式,我的错误代码在哪里:

<input class="copyMe" type="text" />
<input class="copyMe2" type="text" />

$(document).ready(function(){
var input = $(this).val();
var find = ["ş","Ş","ı","I","ğ","Ğ","ü","Ü","ö","Ö","ç","Ç","(",")","/",":",",","&","İ"];
var replace = ["s","s","i","i","g","g","u","u","o","o","c","c","","","-","-","","","i"];
input = input.replaceArray(find, replace);
    $(".copyMe").keyup(function(){
        $(".copyMe2").val($(this).val().input);
    });
});

只需使用此代码即可

$(document).ready(function() {
    var find = ["ş", "Ş", "ı", "I", "ğ", "Ğ", "ü", "Ü", "ö", "Ö", "ç", "Ç", "(", ")", "/", ":", ",", "&", "İ"];
    var replace = ["s", "s", "i", "i", "g", "g", "u", "u", "o", "o", "c", "c", "", "", "-", "-", "", "", "i"];
    $(".copyMe").keyup(function() {
        var input = $(this).val().replaceArray(find, replace);
        $(".copyMe2").val(input);
    });
});

但不要忘记使用您自己的函数来扩展 String 对象来满足您的需求(如果缺少功能,这很有用):

String.prototype.replaceArray = function(find, replace) {
    var replaceString = this;
    for (var i = 0; i < find.length; i++) {
        replaceString = replaceString.split(find[i]).join(replace[i]);
    }
    return replaceString;
};

所以,最终的代码会像添加 jQuery 脚本一样

String.prototype.replaceArray = function(find, replace) {
  var replaceString = this;
  for (var i = 0; i < find.length; i++) {
    replaceString = replaceString.split(find[i]).join(replace[i]);
  }
  return replaceString;
};
$(document).ready(function() {
  var find = ["ş", "Ş", "ı", "I", "ğ", "Ğ", "ü", "Ü", "ö", "Ö", "ç", "Ç", "(", ")", "/", ":", ",", "&", "İ"];
  var replace = ["s", "s", "i", "i", "g", "g", "u", "u", "o", "o", "c", "c", "", "", "-", "-", "", "", "i"];
  $(".copyMe").keyup(function() {
    var input = $(this).val().replaceArray(find, replace);
    $(".copyMe2").val(input);
  });
});
<input class="copyMe" type="text" />
<input class="copyMe2" type="text" />

<script src="//code.jquery.com/jquery-1.11.3.min.js" type="text/javascript"></script>