画像の拡張子の後に文字列があった場合の正規表現

とあるシステムに通すと、画像の拡張子の後に謎の文字列が付くせいでロールオーバーのJSにちょっとだけ苦労したという話です。

画像の拡張子の後に謎の文字列が付く

そもそもこれがどういうことかというと下記のようなHTMLが生成されることから始まっています。

<img src="img.png;1つ以上のアルファベット=1つ以上の英数字.1つ以上の英数字">
	

この拡張子の後につく文字列のおかげでロールオーバーの正規表現のコードを書き直しが必要になりました。

もともと書いていた正規表現

/^(.+_).\.(png|jpe?g|gif)$/i;
	

書き直した正規表現

/^(.+_).\.(png|jpe?g|gif)|;\D+\W\w+\.\w+/i;
	

今回のことは、仕様として聞いていませんでしたので、テストサーバーにアップして初めて知る事実でした。期日に近いと心臓に悪いですね。

今回書いたロールオーバーのJS

参考にしたリファレンスとチェッカー