正则表达式的排序字段

时间:2011-12-01 17:26:34

标签: javascript regex

我创建了一个javascript sort函数来按标题对文章列表进行排序。我将把所有可排序的单词转换为大写字母,这样我就不必处理与小写和大写相关的差异。我在创建一个表达式时遇到了麻烦,虽然这会消除不是[A-Z]的单词之前的所有字符。我对正则表达式不太熟悉,任何帮助都将不胜感激。我正在寻找这样的东西......

function cleanup(e) {
// delete leading not alphanum characters
// capitalize for sorting
//  str.replace(/^\s*/, '').replace(/\s*$/, ''); 
return(e);
}

3 个答案:

答案 0 :(得分:1)

如果使用i分隔符,则正则表达式将不区分大小写,您可以在比较单词时使用它。

试试这个http://jsfiddle.net/5Rxs5/

将在文本前替换所有非a-zA-Z字符:

var str = "#$DSFfd#_)#$$";

alert(str.replace(/[^a-z]+/i, ""))

如果你想删除所有非a-zA-Z字符,请执行此操作(添加g分隔符,这意味着全局):

var str = "#$DSFfd#_)#$$";

alert(str.replace(/[^a-z]+/gi, ""))

大写第一个字符

var str = "#$abcd#_)#$$";
str = str.replace(/[^a-z]+/i,"");
str = str.match(/(^.)(.+)/);
str = str[1].toUpperCase() + str[2];

alert(str);

通知:

Abcd#_)#$$

答案 1 :(得分:1)

试试这个:

str.replace(/^[^a-z]+/i, '').toUpperCase();

答案 2 :(得分:1)

str.replace(/^[^\w\d]*/, '');

使用:http://www.regextester.com/

进行测试