@ledsun blog

無味の味は佳境に入らざればすなわち知れず

改行の安全な扱い方

当初の作戦

  1. 入力された改行はすべて\r\nに変換する
  2. 文字列を切りすてるときは、切り捨てた後の文字列が\rか\nで終わっていたらそれも切り捨てる

しかし、IE9のtextareに入力済みの改行は\nになっている。入力文字だけでなく入力済みの文字も変換が必要。

よりベターな作戦

  1. 結合後に文字列の改行を\r\nに変換して末尾を切り捨てる
  2. 文字列の途中に挿入したい場合は、事前に改行変換後の長さを計算して挿入する文字列の長さを制限する

JavaScriptでこんな関数を用意しておくとよい。