排序字段的正则表达式

regex for a sort field

本文关键字:正则表达式 字段 排序      更新时间:2023-09-26

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

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

如果您使用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#_)#$$

试试这个:

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

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

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