ど素人から毛を生やす。<延>

endsWith()って超イイ感じだけどIEの野郎が非対応なんだって!

Web > javascript 2018年4月20日(最終更新:6月前)

どもです。

jsで後方一致が使いたいがために、endsWith()を使いました。
そうしましたところ、

( ゚Д゚)「endsWith()はIEが対応してないから、作り直して!」

(*'ω'*)「今時IEなんて対応して誰が得するんだよォオオオオオオ!!!」

//IEがendsWithサポート外だった系。
function IE_endsWith(target, str){
	var userAgent = window.navigator.userAgent.toLowerCase();
	if(userAgent.indexOf('msie') != -1 ||
	    userAgent.indexOf('trident') != -1 ) {
	    //IEがendsWithに対応していないので正規表現で代用。
		var reg = new RegExp("^.*" + str + "$");
		if(target.match(reg)){
			return true;
		}else{
			return false;
		}
	} else {
		//IE以外は普通にendsWith使う。
		return target.endsWith(str);
	}
}

これだと[target].endsWith(str)⇒endsWith([target], str)になるのが痛いですが、仕方ない。

あと今回要らなかったのでパラメータにも対応してないです。つら。

なんとか最小限の変更で回避。IEつら…

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)