ファイル名の入力で、英数字と記号-_.だけを認める正規表現を作りたかったw
例えばこんなファイル名はおk Abcd-123_45.pdf
正規表現を良く知らないので調べたけど、英数字だけのものはあるが、記号を含めたのがない。
これは一から正規表現を勉強しなければならないのか・・・でもなんとかできた^^
英数字だけならこれで良い [^0-9a-zA-Z]
これだと、英数字以外の文字を含んでいると True を返します。
記号も含めるなら [^0-9a-zA-Z_\-\.]
これで3つの記号もおkになる。
なぜかを知りたい人は調べてみてくださいw
<PHPでの例>
if (mb_ereg('[^0-9a-zA-Z_\-\.]',$file_name))
{
// 英数字と3つの記号以外が含まれている
}
else
{
// 正しいファイル名
}
一応正しく動作しているので、間違いではないと思うけど・・・
間違ってても文句言わないでね^^
例えばこんなファイル名はおk Abcd-123_45.pdf
正規表現を良く知らないので調べたけど、英数字だけのものはあるが、記号を含めたのがない。
これは一から正規表現を勉強しなければならないのか・・・でもなんとかできた^^
英数字だけならこれで良い [^0-9a-zA-Z]
これだと、英数字以外の文字を含んでいると True を返します。
記号も含めるなら [^0-9a-zA-Z_\-\.]
これで3つの記号もおkになる。
なぜかを知りたい人は調べてみてくださいw
<PHPでの例>
if (mb_ereg('[^0-9a-zA-Z_\-\.]',$file_name))
{
// 英数字と3つの記号以外が含まれている
}
else
{
// 正しいファイル名
}
一応正しく動作しているので、間違いではないと思うけど・・・
間違ってても文句言わないでね^^
※コメント投稿者のブログIDはブログ作成者のみに通知されます