2016-04-15 140 views
0

我工作的翻譯項目,當用戶鍵入我必須要改變一些詞像正則表達式來改變一個特定的字符串

「yalama」 - >「yaLama」

「yalamak 「 - >」 yaLamak 「

」kalamadi「 - > 」kaLamadi「

」salamadi「 - >」 saLamad我「

我的代碼行之有效的,但現在我有一個問題:如果我只鍵入‘林’,它正在改變‘LM’它的好。但如果我鍵入」 aLamsiz 「(我的意思是任何」xxxLamxxx ..「)不工作:(

$(document).ready(function(){ 
 

 
$("#ta_1").keyup(function(event) { 
 

 
var text2 = $(this).val(); 
 

 
text2 = text2.replace(/al/g, "L"); 
 

 
text2 = text2.replace(/([^L]|^)am/g, '$1m'); 
 

 
text2 = text2.replace(/\bLam\b/g, "Lm"); 
 
    
 
$("#ta_1").val(text2); 
 
    
 
    
 
}); 
 
    
 
});
<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
<title></title> 
 
<meta charset="utf-8" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
</head> 
 
    
 
<body> 
 
    
 
<textarea id="ta_1" rows="5" cols="28" ></textarea> 
 
    
 
</body> 
 
    
 
</html>

回答

0

不完全相信你的FUL l翻譯器正試圖做,但要獲得原始映射,您只需在第一個正則表達式中添加'a'即可。

$(document).ready(function(){ 
 

 
$("#ta_1").keyup(function(event) { 
 

 
var text2 = $(this).val(); 
 

 
text2 = text2.replace(/al/g, "aL"); 
 

 
text2 = text2.replace(/([^L]|^)am/g, '$1m'); 
 

 
text2 = text2.replace(/\bLam\b/g, "Lm"); 
 
    
 
$("#ta_1").val(text2); 
 
    
 
    
 
}); 
 
    
 
});
<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
<title></title> 
 
<meta charset="utf-8" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
</head> 
 
    
 
<body> 
 
    
 
<textarea id="ta_1" rows="5" cols="28" ></textarea> 
 
    
 
</body> 
 
    
 
</html>

+0

我不能添加一個「A」,因爲我用另一個字母和IM使用它的字符代碼:/ – pinug

+0

你應該給我們所有的規則或答案永遠是準確的;) –

1

只是這個表達式就足夠了。

text = text.replace(/a[lL]a/g, "aLa"); 
相關問題