個人的によく使うものを晒します。
スクリプト・HTMLコメント除去
function replace_scripts($str) { $str = preg_replace('/<(script|style).*?<\/(script|style)>/sm','', $str);//script $str = preg_replace("/<\!--.*-->/sm", '', $str); //comments return $str; }
mはマルチライン指定
ファイル名の拡張子直前に文字列追加
サムネイル作成する時の定番
preg_replace("/([\d\w\-\_\.]+?)(\.[\w]+?)/i","$1_thumb$2",$filename);
メールアドレスチェック
真贋までは分かりません。
if(preg_match("/^([a-z0-9_]|\-|\.|\+)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,6}$/i",$str)){ //true }else{ //false }
URLチェック
真贋までは分かりません。
if(preg_match('/^(https|http)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $value)) { //true }else{ //false }
電話番号チェック
以前のエントリーで晒したのと同じ
$str = mb_convert_kana($str, "n", "UTF-8"); if(strpos($str,"-")===false){//ハイフンなし if (preg_match("/(^(?<!090|080|070)\d{10}$)|(^(090|080|070)\d{8}$)|(^0120\d{6}$)|(^0080\d{7}$)/", $str)) { //true }else{ //false } }else{//ハイフンあり if (preg_match("/(^(?<!090|080|070)(^\d{2,5}?\-\d{1,4}?\-\d{4}$|^[\d\-]{12}$))|(^(090|080|070)(\-\d{4}\-\d{4}|[\\d-]{13})$)|(^0120(\-\d{2,3}\-\d{3,4}|[\d\-]{12})$)|(^0080\-\d{3}\-\d{4})/", $str)) { //true }else{ //false } } [/php] <h2>郵便番号チェック</h2> ハイフンあり・なし両方。 [php] if (preg_match("/(^\d{3}\-\d{4}$)|(^\d{7}$)/", $str)) { //true }else{ //false }
全て数字かどうか
if (preg_match("/^[0-9]+$/", $str)) { //true }else{ //false }
基本的に、「全て英数かどうか」「全てひらがなかどうか」というチェックは、
上記数字の[0-9]を[A-Za-z]や[あ-ん]と変更すればおk。
日本語の有無をチェック
全部半角英数だったらエラーにする
if(preg_match("/^[\x01-\x7e]+$/",$str)){ //true }else{ //false }