相关疑难解决方法(0)

如何在JavaScript中对字符串进行排序

我有一个我希望根据attr字符串类型字段排序的对象列表.我试过用-

list.sort(function (a, b) {
    return a.attr - b.attr
})
Run Code Online (Sandbox Code Playgroud)

但发现-在JavaScript 中似乎不适用于字符串.如何根据类型字符串的属性对对象列表进行排序?

javascript string

314
推荐指数
11
解决办法
31万
查看次数

有效地替换字符串中的所有重音字符?

对于一个穷人在客户端实现近似校正正确的排序,我需要一个JavaScript函数来在字符串中进行有效的单个字符替换.

这就是我的意思(请注意,这适用于德语文本,其他语言的排序方式不同):

native sorting gets it wrong: a b c o u z ä ö ü
collation-correct would be:   a ä b c o ö u ü z

基本上,我需要将所有出现的给定字符串的"ä"替换为"a"(依此类推).这样,本机排序的结果将非常接近用户期望的结果(或数据库将返回的内容).

其他语言有这样的设施:Python提供str.translate(),在Perl中tr/…/…/,XPath有一个函数translate(),ColdFusion有ReplaceList().但是JavaScript呢?

这就是我现在所拥有的.

// s would be a rather short string (something like 
// 200 characters at max, most of the time much less)
function makeSortString(s) {
  var translate = {
    "ä": "a", "ö": "o", "ü": …
Run Code Online (Sandbox Code Playgroud)

javascript sorting string collation

108
推荐指数
12
解决办法
11万
查看次数

从Unicode字符中删除变音符号(ńǹṅṅņṇṋ̈ɲƞᶇɳȵ)

我在看的算法,可以用变音符号(字符之间映射波浪,抑扬,插入符号,变音符号,卡隆)和他们的"简单"的角色.

例如:

?  ?  ?  ñ  ?  ?  ?  ?  ?  ?  ?  ? ? ? ?  --> n
á --> a
ä --> a
? --> a
? --> o
Run Code Online (Sandbox Code Playgroud)

等等.

  1. 我想用Java做这个,虽然我怀疑它应该是Unicode-y,并且应该可以在任何语言中合理地使用.

  2. 目的:允许轻松搜索带有变音符号的单词.例如,如果我有一个网球运动员数据库,并且输入了Björn_Borg,我还会保留Bjorn_Borg,这样如果有人进入Bjorn而不是Björn,我就能找到它.

java unicode diacritics transliteration

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

如何检查字符是否是Javascript中的字母?

我在Javascript字符串中提取一个字符:

var first = str.charAt(0);
Run Code Online (Sandbox Code Playgroud)

我想检查一下是否是一封信.奇怪的是,Javascript中似乎不存在这样的功能.至少我找不到它.

我该怎么测试呢?

javascript string character letter

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

使用Javascript正则表达式匹配重音字符

这是我今天遇到的一个有趣的片段:

/\ba/.test("a") --> true
/\bà/.test("à") --> false
Run Code Online (Sandbox Code Playgroud)

然而,

/à/.test("à") --> true
Run Code Online (Sandbox Code Playgroud)

首先,wtf?

其次,如果我想在单词的开头匹配重音字符,我该怎么做?(我真的很想避免使用过顶选择器/(?:^|\s|'|\(\) ....)

javascript regex unicode internationalization

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

用简单的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万
查看次数

测试字符串是否只包含字母(az +éüöêåø等...)

我想匹配一个字符串,以确保它只包含字母.

我有这个,它工作得很好:

var onlyLetters = /^[a-zA-Z]*$/.test(myString);
Run Code Online (Sandbox Code Playgroud)

由于我也说另一种语言,我需要允许所有字母,而不仅仅是AZ.还有例如:

é ü ö ê å ø
Run Code Online (Sandbox Code Playgroud)

有没有人知道是否有一个全球'alpha'术语,包括与regExp一起使用的所有字母?或者甚至更好,有没有人有某种解决方案?

非常感谢

编辑: 刚才意识到你可能也想允许' - '和''加上一个双重名字,如:'Mary-Ann'或'Mary Ann'

javascript regex diacritics

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

将非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执行带/不带重音字符的文本匹配

我正在使用基于AJAX的查找来查找用户在文本框中搜索的名称.

我假设数据库中的所有名称都将被音译为欧洲字母表(即没有西里尔语,日语,中文).但是,名称仍将包含重音字符,例如ç,ê甚至č和ć.

像"Micic"这样的简单搜索与"Mičić"不匹配 - 而且用户的期望是它会.

AJAX查找使用正则表达式来确定匹配.我已使用此函数修改了正则表达式比较,以尝试匹配更多重音字符.但是,它有点笨拙,因为它没有考虑到所有角色.

function makeComp (input)
{
    input = input.toLowerCase ();
    var output = '';
    for (var i = 0; i < input.length; i ++)
    {
        if (input.charAt (i) == 'a')
            output = output + '[aàáâãäåæ]'
        else if (input.charAt (i) == 'c')
            output = output + '[cç]';
        else if (input.charAt (i) == 'e')
            output = output + '[eèéêëæ]';
        else if (input.charAt (i) == 'i')
            output = output + '[iìíîï]';
        else if (input.charAt (i) == 'n')
            output = …
Run Code Online (Sandbox Code Playgroud)

javascript string collation non-ascii-characters

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

使用Go删除变音符号

如何使用Go删除给定UTF8编码字符串中的所有变音符号?例如,变换string "ž?žo"=> "zuzo".有标准的方法吗?

unicode utf-8 go

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