0

我有一个包含多个条目的数组。其中一些包含@在开头。这是一个数组的例子:

some string  
@another string  
@one more string  
the best string  
string with email@mail.com

对于验证和分组,我使用这部分代码(现在只检查@

  if(linesArray[i] ===  '@'){
    $('#test').append('<li class="string_with_at">'+linesArray[i]+'</li>');
  }else{
    $('#test').append('<li class="string_no_at">'+linesArray[i]+'</li>');
  }

我的问题是:

  1. 如何检查@第一组的排队开始?
  2. 如何从结果中删除此符号 ('li'+linesArray+'/li') - 可能只留下类以了解它是@
4

3 回答 3

1

那个怎么样:

if(linesArray[i][0] ===  '@') { //checking the first symbol
   //remove first element from result
   $('#test').append('<li class="string_with_at">'+linesArray[i].substring(1)+'</li>');
}
else {
   $('#test').append('<li class="string_no_at">'+linesArray[i]+'</li>');
}
于 2013-04-11T19:04:19.453 回答
1

如果在位置 0,则删除“@”并返回新格式化的字符串的函数:

removeAt = function(s){
    if(s.charAt(0) == '@')
      return s.substring(1);
    return s;
}
于 2013-04-11T19:04:23.223 回答
0

这应该可以解决问题:

function addElement (val) {
    var match = val.match(/^(@)(.*)/),
        at    = match[1],
        str   = match[2],
        li    = $('<li/>').html(str)

    li.addClass('string_' + (at ? 'with' : 'no') + '_at');

    $('#test').append(li);
}

linesArray.forEach(addElement);
于 2013-04-11T19:20:18.623 回答