相关疑难解决方法(0)

在JavaScript中删除字符串中的重音符号/变音符号

如何从字符串中删除突出的字符?特别是在IE6中,我有这样的事情:

accentsTidy = function(s){
    var r=s.toLowerCase();
    r = r.replace(new RegExp(/\s/g),"");
    r = r.replace(new RegExp(/[àáâãäå]/g),"a");
    r = r.replace(new RegExp(/æ/g),"ae");
    r = r.replace(new RegExp(/ç/g),"c");
    r = r.replace(new RegExp(/[èéêë]/g),"e");
    r = r.replace(new RegExp(/[ìíîï]/g),"i");
    r = r.replace(new RegExp(/ñ/g),"n");                
    r = r.replace(new RegExp(/[òóôõö]/g),"o");
    r = r.replace(new RegExp(/œ/g),"oe");
    r = r.replace(new RegExp(/[ùúûü]/g),"u");
    r = r.replace(new RegExp(/[ýÿ]/g),"y");
    r = r.replace(new RegExp(/\W/g),"");
    return r;
};
Run Code Online (Sandbox Code Playgroud)

但IE6让我烦恼,似乎它不喜欢我的正则表达式.

javascript diacritics

385
推荐指数
13
解决办法
22万
查看次数

将非ASCII字符(变音符号,重音符号...)转换为最接近的ASCII等效符号(段塞创建)

我正在寻找JavaScriptASCII字符串中的非字符转换为最接近的等价物的方法,类似于PHP iconv函数的作用.例如,如果输入字符串是Rånades på Skyttis i Ö-vik,则应将其转换为Ranades pa skyttis i o-vik.我看了看phpjsiconv不包括在内.

是否可以在JavaScript中执行此类转换,如果是这样的话?

javascript ascii converter character-encoding slug

24
推荐指数
1
解决办法
8312
查看次数

Javascript正则表达式替换特殊字符

如何用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'] …
Run Code Online (Sandbox Code Playgroud)

javascript regex

6
推荐指数
0
解决办法
4862
查看次数

检测角色是否是一个字母

给定一组单词,我需要将它们放在键入该单词首字母的哈希值中.我有单词= {},键为A..Z,数字和符号为0.我正在做类似的事情

var firstLetter = name.charAt(0);
    firstLetter = firstLetter.toUpperCase();

if (firstLetter < "A" || firstLetter > "Z") {
    firstLetter = "0";
}
if (words[firstLetter] === undefined) {
    words[firstLetter] = [];
} 
words[firstLetter].push(name);
Run Code Online (Sandbox Code Playgroud)

但这种情况因为迪斯特里斯和其他字符而失败,就像Ärzteversorgung这个词一样.那个词放在"0"数组中,我怎么能把它放在"A"数组中呢?

javascript utf-8 character-encoding

3
推荐指数
3
解决办法
3万
查看次数