Replace置換処理(JavaScript)
いつもコケる、replace( )処理について…。
テキストボックス(TodoList.index)に入力された内容のうち、
空白文字のみは警告メッセージを表示して
Return falseする仕組みを作る。
if ( (this.TodoList.index.replace(/ /g, '')).replace(/ /g , '') === '') {
alert('内容を入力してください。');
return false;
}
はじめはネストして書いてみたものの、読みづらくなってしまった。
一発で処理が通るように、正規表現を使って修正して解決。
if ( this.TodoList.index.replace(/\s+/g, '') === '') {
alert('内容を入力してください。');
return false;
}
正規表現をよく分かっていなかったことが要因でした!(↓)
この正規表現に、「オプションフラグ」があることを初めて知った…(恥
オプションフラグ
g:文字列中に一致したものをすべて返す(グローバルサーチ)
i:大文字と小文字を区別しない
m:複数行検索
y:文字列で最後に一致した位置から検索を開始する
(先頭固定検索)
ちなみに、trim( )処理は「文字列【前後(両端)】の空白文字除去」
ということでした。
ex )「 おはよう 」 → 「おはよう」
【出典】