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 に答える