Javascript如何更改文本框中的字符?

时间:2017-01-22 18:25:20

标签: javascript text replace onchange

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

<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);
    });
});

1 个答案:

答案 0 :(得分:0)

只需使用此代码

即可
$(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脚本

一样

&#13;
&#13;
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);
  });
});
&#13;
<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>
&#13;
&#13;
&#13;