如何用javascript中的这些符号"aceeisuuz"替换这些符号"ąčęėįšųūž"?我知道我需要使用正则表达式,但我无法制作模式.
这就是我所拥有的
var string = $(this).val();
string = string.replace(/\s+/g, '-').toLowerCase();
string = string.replace(/[^a-zA-Z0-9-]/g,'_');
string = regExp something here...
$("#custom_url").val(string);
Run Code Online (Sandbox Code Playgroud)
更新:
在其他线程中找到此解决方案:
function convert_accented_characters(str){
var conversions = new Object();
conversions['ae'] = 'ä|æ|?';
conversions['oe'] = 'ö|œ';
conversions['ue'] = 'ü';
conversions['Ae'] = 'Ä';
conversions['Ue'] = 'Ü';
conversions['Oe'] = 'Ö';
conversions['A'] = 'À|Á|Â|Ã|Ä|Å|?|?|?|?|?';
conversions['a'] = 'à|á|â|ã|å|?|?|?|?|?|ª';
conversions['C'] = 'Ç|?|?|?|?';
conversions['c'] = 'ç|?|?|?|?';
conversions['D'] = 'Ð|?|?';
conversions['d'] = 'ð|?|?';
conversions['E'] = 'È|É|Ê|Ë|?|?|?|?|?';
conversions['e'] = 'è|é|ê|ë|?|?|?|?|?';
conversions['G'] = '?|?|?|?';
conversions['g'] = '?|?|?|?';
conversions['H'] = '?|?';
conversions['h'] = '?|?';
conversions['I'] = 'Ì|Í|Î|Ï|?|?|?|?|?|?';
conversions['i'] = 'ì|í|î|ï|?|?|?|?|?|?';
conversions['J'] = '?';
conversions['j'] = '?';
conversions['K'] = '?';
conversions['k'] = '?';
conversions['L'] = '?|?|?|?|?';
conversions['l'] = '?|?|?|?|?';
conversions['N'] = 'Ñ|?|?|?';
conversions['n'] = 'ñ|?|?|?|?';
conversions['O'] = 'Ò|Ó|Ô|Õ|?|?|?|?|?|Ø|?';
conversions['o'] = 'ò|ó|ô|õ|?|?|?|?|?|ø|?|º';
conversions['R'] = '?|?|?';
conversions['r'] = '?|?|?';
conversions['S'] = '?|?|?|Š';
conversions['s'] = '?|?|?|š|?';
conversions['T'] = '?|?|?';
conversions['t'] = '?|?|?';
conversions['U'] = 'Ù|Ú|Û|?|?|?|?|?|?|?|?|?|?|?|?';
conversions['u'] = 'ù|ú|û|?|?|?|?|?|?|?|?|?|?|?|?';
conversions['Y'] = 'Ý|Ÿ|?';
conversions['y'] = 'ý|ÿ|?';
conversions['W'] = '?';
conversions['w'] = '?';
conversions['Z'] = '?|?|Ž';
conversions['z'] = '?|?|ž';
conversions['AE'] = 'Æ|?';
conversions['ss'] = 'ß';
conversions['IJ'] = '?';
conversions['ij'] = '?';
conversions['OE'] = 'Œ';
conversions['f'] = 'ƒ';
for(var i in conversions){
var re = new RegExp(conversions[i],"g");
str = str.replace(re,i);
}
return str;
}
Run Code Online (Sandbox Code Playgroud)