ページのテキストエリアでユーザー入力のフォームを制御したい。入力は次のようになります。
これは、1 つの行に 3 つの値のみがあり、最初の値と 2 番目の値の間、および 2 番目と 3 番目の値の間にセミコロンがあることを意味します。
今では、この正規表現を使用して検証しています:
^((([^;]+);([^;]*);([^;]+))\n?)*$
次のような入力を検証するため、100%機能しません
value1;value2;value3
value1
有効です。問題は改行と次の value1 の始まりです。value1 の後に最初のセミコロンが書き込まれるまで、value1 は前の行の value3 の末尾にまだ追加されているようです。これを無効にし、すべての新しい不完全な行を無効としてマークするには、正規表現をどのように変更すればよいですか?
デモ用に JS フィドルを作成しました: https://jsfiddle.net/tw2y5omc/3/