2011-12-16 17 views
0

私は、ユーザが数字のシリアル番号を入力するHTMLテキストエリアを持っています。これらはインラインであり、任意の文字(スペースを含む)で区切られているか、またはExcelファイルからの列です。正規表現を使用している可能性があります。

最初の文字が「1」の場合は、シリアルコードは14文字、それ以外の場合は常に15文字です。

私が達成したいのは、このtextareaの内容を読み込み、フォームの送信時に、各シリアルコードが新しいtr行のテーブルにあるhtmlテーブルを生成するjquery関数です。

入力例:事前に

12345678912345 
12345678912346 
12345678912345 
223456789123455 
623456789123457 

$("#add_code").click(function(){ 
    var code = $("#code").val(); 

    for (line in code.split('\n')){ 
     $("#codes_list").append('<tr><td>'+code[line]+'</td></tr>'); 
    } 
}); 

おかげ

は、これまでのところ私は列に提出したコードを分割してみました!

+1

これまでに何を試みましたか?あなたのコードと可能な入力のための少なくともいくつかの例を投稿してください。 –

+1

誰もあなたのためのコードを書くつもりはありません。助けが必要なものを特定してください。 –

+0

さて、私は30ドル/時間を請求します。 PayPalを持っていますか? –

答えて

0

それで、数字以外の数字に分割したいだけですか?

code.split(/[^0-9]+/ig) 
0
function parseSerialCodes(input) { 
    var serialCodeRegExp = /(1\d{13}|\d{15})/g; 

    var matches = []; 
    var match = null; 
    while((match = serialCodeRegExp.exec(input))) { 
     matches.push(match[1]); 
    } 
} 

$("#add_code").on("click", function() { 
    var input = $("#code").val(); 
    var serialCodes = parseSerialCodes(input); 

    var tableRows = serialCodes.map(function (code) { 
     return "<tr><td>" + code + "</td></tr>"; 
    }); 
    var tableContents = tableRows.join(""); 

    $("#codes_list").append(tableContents); 
}); 
1

私はあなたのためにこれを書くつもりが、私はあなたを伝えることができますすることで、数字の連続したシーケンスにマッチするパターン「[0-9] +」を使用することができますされていませんよ。

javascriptの正規表現の結果は、複数の一致が可能になるはずです。

ここに例を示しますhttp://www.regular-expressions.info/javascriptexample.html

関連する問題