相关疑难解决方法(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万
查看次数

用于重音字符的具体Javascript正则表达式(变音符号)

我看过Stack Overflow(替换字符......呃,JavaScript如何不遵循关于RegExp的Unicode标准等)并且没有真正找到问题的具体答案:

How can JavaScript match for accented characters (those with diacritical marks)?

我强迫UI中的字段匹配格式:( last_name, first_name 最后[逗号空间]),我想提供对变音符号的支持,但显然在JavaScript中它比其他语言/平台要困难一些.

这是我的原始版本,直到我想添加变音支持:

/^[a-zA-Z]+,\s[a-zA-Z]+$/

目前我正在讨论增加支持的三种方法之一,所有这些我都经过测试和工作(至少在某种程度上,我真的不知道第二种方法的"范围"是什么).他们来了:

明确列出我想要接受为有效的所有重音字符(蹩脚和过于复杂):


var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇߨøÅ寿œ";
// Build the full regex
var regex = "^[a-zA-Z" + accentedCharacters + "]+,\\s[a-zA-Z" + accentedCharacters + "]+$";
// Create a RegExp from the string version
regexCompiled = new RegExp(regex);
// regexCompiled = /^[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇߨøÅ寿œ]+,\s[a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇߨøÅ寿œ]+$/
Run Code Online (Sandbox Code Playgroud)
  • 这正确地匹配姓氏中的任何支持的重音字符的姓氏/名字accentedCharacters.

我的另一种方法是使用.字符类,以获得更简单的表达式:

var regex = /^.+,\s.+$/;
Run Code Online (Sandbox Code Playgroud)
  • 这几乎可以匹配任何东西,至少以下列形式:something, something.那我觉得好吧......

我刚发现的最后一种方法可能更简单...... …

javascript regex unicode

129
推荐指数
8
解决办法
9万
查看次数

如何在Javascript中比较Unicode字符串?

当我用JavaScript编写"?" > "Z"它时,它返回true.在Unicode顺序中,它当然应该是false.如何解决这个问题?我的网站使用的是UTF-8.

javascript compare polish

40
推荐指数
4
解决办法
2万
查看次数

用简单的ascii代替重音字符

我需要将姓氏列表转换为字母数字用户名,但不幸的是其中一些包含非ascii字符:

Hernández
Quermançós 
Migueláñez
Run Code Online (Sandbox Code Playgroud)

现在,一种方法就是使用正则表达式删除任何非字母数字字符,例如a.replace(/[^a-z0-9]/gi,'').然而,一个更直观的解决方案(至少对于用户来说)将用他们的"普通"等效替换重音字符,例如转á,áaçc等等.有没有一种简单的方法在javascript中执行此操作?

javascript regex string utf-8

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

用他们的图像替换表情符号列表

我有一个数组:

emoticons = {
   ':-)' : 'smile1.gif',
   ':)'  : 'smile2.gif',
   ':D'  : 'smile3.gif'     
}
Run Code Online (Sandbox Code Playgroud)

然后我对文本有一个变化.

var text = 'this is a simple test :)';
Run Code Online (Sandbox Code Playgroud)

和一个带有网站网址的变量

var url = "http://www.domain.com/";
Run Code Online (Sandbox Code Playgroud)

如何编写一个用符号替换符号的函数?

<img>标签的结果应该是:

<img src="http://www.domain.com/simple2.gif" />
Run Code Online (Sandbox Code Playgroud)

(我必须将url varible连接到图像的名称).

非常感谢你!

javascript emoticons

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

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
查看次数

Javascript string.prototype.contains()与语言环境

是否可以检查字符串是否包含具有语言环境支持的子字符串?

'Ábc'.contains('A') 应该是真的。

Javascript现在具有string.prototype.localeCompare(),可与区域设置支持进行字符串比较,但我看不到localeContains()对应的字符串。

javascript string localization

6
推荐指数
2
解决办法
536
查看次数

如何在 Javascript 中将 Unicode 音译为 ASCII?

如何在纯 Javascript 中将 Unicode 字符音译为 ASCII?

\n\n
input:  '\xc7\x8f\xc5\x84\xc5\xa5\xc4\x99\xc5\x99'\noutput: 'Inter'\n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要与 shell 类似的效果iconv -f UTF-8 -t 'ASCII//TRANSLIT',但在普通 Javascript 中。

\n

javascript unicode ascii transliteration

6
推荐指数
1
解决办法
1650
查看次数

将umlaute(äüö)替换为rails中的SEO链接 - 最好的方法

我正在使用permalink_fu插件来创建标题的永久链接.我的问题是:如果标题包含德语字符,它们只是替换为'_'.

我需要的是用oeö与ae取代ä的东西

我知道String.tr但这里的问题是它用1个替换替换1个字符,所以它可以用于替换

é与eøwitho

等等

有没有人有一个漂亮而干净的解决方案呢?

谢谢

ruby string seo replace ruby-on-rails

5
推荐指数
4
解决办法
6389
查看次数

javascript正则表达式替换html字符

我正在使用JavaScript来设置输入的值,其中包含可能包含HTML特定字符的文本&amp; &nbsp;等等.所以,我试图找到一个匹配这些值的正则表达式并用适当的值替换它们("&" ,"")分别只有我无法弄清楚正则表达式才能做到这一点.

这是我的尝试:

创建一个包含匹配项的对象和对替换值的引用:

var specialChars = {
  "&amp;nbsp;" : " ",
  "&amp;amp;"  : "&",
  "&amp;gt;"   : ">",
  "&amp;lt;"   : "<"
}
Run Code Online (Sandbox Code Playgroud)

然后,我想匹配我的字符串

var stringToMatch = "This string has special chars &amp;amp; and &amp;nbsp;"
Run Code Online (Sandbox Code Playgroud)

我试过类似的东西

stringToMatch.replace(/(&amp;nbsp;|&amp;)/g,specialChars["$1"]);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我真的不明白如何捕获特殊标签并替换它.任何帮助是极大的赞赏.

javascript regex

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