2011-03-22 55 views

回答

2

从Zikes

添加上
var replace_map={ 
    "ı":"i", 
    "ə":"e" 
}; 

$('textarea').click(function(){ 
    var ret=''; 
    $.each(this.value.split(''), function(i, str) { 
     ret += replace_map[str] || str; 
    }) 
    this.value = ret; 
}); 

DEMO


修订编辑

var replace_map={ 
    "ı":"i", 
    "ə":"e" 
}; 

$('textarea').click(function(){ 
    this.value = $.map(this.value.split(''), function(str) { 
     return replace_map[str] || str; 
    }).join(''); 
}); 

UPDATED DEMO

+0

这正是我想要的。谢谢 – seferov 2011-03-22 18:58:59

+0

@FarhadSafarov:查看我更新的答案 – qwertymk 2011-03-22 22:17:42

3
$('textarea').html($('textarea').html().replace(/ə/g,'e')) 
2

HTML:

<textarea>Thıs ıs əxamplə</textarea> 

JS:

var replace_map={ 
    "ı":"i", 
    "ə":"e" 
}; 

$('textarea').click(function(){ 
    this.value = this.value.replace(/./g,function(str){ 
     return replace_map[str] || str; 
    }) 
}); 
+0

我会+1如果只想遍历由字符字符串的字符,而不是使用正则表达式。现在每个人似乎都很快使用正则表达式。 – 2011-03-22 17:41:06

+0

@Brad Christie它可能不像字符迭代一样快,但除非textarea的值是几十千字节的大小,我不认为在这种情况下性能差异会是极端的。 – Zikes 2011-03-22 17:45:08