よく使われるPHPの各種検証用正規表現プログラム
コードは次のとおりです | コードをコピー |
クラスバリデータ { /** * フィールドが正確に正しい長さであることをチェックします。 * コンストラクター PHP4 */ 関数バリデータ() { } /** * オプションの -、+、をチェックしてください。価値観 * @param 文字列 * @return ブール値 */ 関数 is_numeric($val) { return (bool)preg_match('/^[-+]?[0-9]*.?[0-9]+$/', $val); } /** * 有効なメールアドレス * @param 文字列 * @return ブール値 */ 関数 is_email($val) { return (bool)(preg_match("/^([a-z0-9+_-]+)(.[a-z0-9+_-]+)*@([a-z0-9-]+. )+[a-z]{2,6}$/i"、 $val)); } /** * 有効な URL または Web アドレス * @param 文字列 * @return ブール値 */ 関数 is_url($val) { return (bool)preg_match("^((((https?|ftps?|gopher|telnet|nntp)://)|(mailto:|news:))(%[0-9A-Fa-f]{2 }|[-()_.!~*';/?:@&=+$,A-Za-z0-9])+)([).!';/?:,][[:blank: ]])?$"、 $val); } /** * 有効な IP アドレス * @param 文字列 * @return ブール値 */ 関数 is_ipaddress($val) { return (bool)preg_match("/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0] -5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0- 9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][ 0-9]?)$/"、 $val); } /** * 英文字のみに一致します * @param 文字列 * @return ブール値 */ 関数 is_alpha($val) { return (bool)preg_match("/^([a-zA-Z])+$/i", $val); } /** * 英字と数字のみに一致します * @param 文字列 * @return ブール値 */ 関数 is_alphanumeric($val) { return (bool)preg_match("/^([a-zA-Z0-9])+$/i", $val); } /** * 英字、数字、-、_ の値に一致します * @param 文字列 * @return ブール値 */ 関数 is_alphanumericdash($val) { return (bool)preg_match("/^([-a-zA-Z0-9_-])+$/i", $val); } /** * -,_ のようなアルファとダッシュに一致します * @param 文字列 * @return ブール値 */ 関数 is_alphadash($val) { return (bool)preg_match("/^([A-Za-z_-])+$/i", $val); } /** *番号と完全に一致します * @param 文字列 * @return ブール値 */ 関数 is_integer($val) { is_int($val) を返します。 } /** * 有効なクレジットカード * @param 文字列 * @return ブール値 */ 関数 is_creditcard($val) { return (bool)preg_match("/^((4d{3})|(5[1-5]d{2})|(6011)|(7d{3}))-?d{4}-?d {4}-?d{4}|3[4,7]d{13}$/"、 $val); } /** * 指定された文字列の長さが指定された範囲内であることを確認してください * @param 文字列 * @return ブール値 */ 関数 is_rangelength($val, $min = '', $max = '') { return (strlen($val) >= $min および strlen($val) } /** *文字列の長さが最小長であることを確認してください * @param 文字列 * @return ブール値 */ 関数 is_minlength($val, $min) { return (strlen($val) >= (int)$min); } /** * 文字列の長さが最大長を超えていることを確認してください * @param 文字列 * @return ブール値 */ 関数 is_maxlength($val, $max) { return (strlen($val) } /** * 指定された数値が最大値を超えているかどうかを確認してください * @param 文字列 * @return ブール値 */ 関数 is_maxvalue($number,$max) { return ($number > $max); } /** * 値の下にある指定された数値を確認してください * @param 文字列 * @return ブール値 */ 関数 is_minvalue($number) { return ($number } /** * 指定された値の間で指定された数値をチェックします * @param 文字列 * @return ブール値 */ 関数 is_rangevalue($number,$min,$max) { return ($number >$min および $number } /** * 文字列の長さを正確に確認してください * @param 文字列 * @return ブール値 */ 関数 is_length($val, $length) { return (strlen($val) == (int)$length); } /** * 小数点を でチェックします。はオプションであり、小数点以下の桁数は 6 桁までです * @param 文字列 * @return ブール値 */ 関数 is_decmal($val) { return (bool)preg_match("/^d+(.d{1,6})?$/'", $val); } /** * 有効な 16 進数の色、#、 が含まれる場合があります * @param 文字列 * @return ブール値 */ 関数 is_hexcolor($color) { return (bool)preg_match('/^#?+[0-9a-f]{3}(?:[0-9a-f]{3})?$/i', $color); } /** * 区切り文字を含む指定された正規表現と一致します * @param 文字列 * @return ブール値 */ 関数 is_regex($val, $expression) { return (bool)preg_match($expression, (string )$val); } /** * 2 つの任意の種類の値を厳密に比較します * @param 文字列 * @return ブール値 */ 関数 is_matches($val, $value) { 戻り値 ($val === $value); } /** * フィールドが空の文字列、orject、array かどうかを確認します * @param 文字列 * @return ブール値 */ 関数 is_empty($val) { return in_array($val, array(null, false, '', array()), true); } /** * 指定された文字列がいずれかの形式の日付と一致するかどうかを確認します * @param 文字列 * @return ブール値 */ 関数 is_date($val) { return (strtotime($val) !== false); } /** * 指定された文字列を指定された配列値と比較してチェックします * @param 文字列 * @return ブール値 */ 関数 is_enum($val, $arr) { return in_array($val, $arr); } /** * フィールドが v2 md5 文字列と一致するかどうかをチェックします * @param 文字列 * @return ブール値 */ 関数 is_md5($val) { return (bool)preg_match("/[0-9a-f]{32}/i", $val); } /** * Base64 の enoding 文字列と一致します * @param 文字列 * @return ブール値 */ 関数 is_base64($val) { return (bool)!preg_match('/[^a-zA-Z0-9/+=]/', $val); } /** * 配列に一意の要素があるかどうかを確認します。少なくとも 1 つの要素が必要です * @param 文字列 * @return ブール値 */ 関数 is_unique($arr) { $arr = (配列)$arr; $count1 = カウント($arr); $count2 = count(array_unique($arr)); return (count1 != 0 および (count1 == $count2)); } /** *チェックはRGBカラー値です * @param 文字列 * @return ブール値 */ 関数 is_rgb($val) { return (bool)preg_match("/^(rgb(s*b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4 ][0-9]|25[0-5])bs*,s*b([0-9]|[1-9][0-9]|1[0-9][0-9]| 2[0-4][0-9]|25[0-5])bs*,s*b([0-9]|[1-9][0-9]|1[0-9][ 0-9]|2[0-4][0-9]|25[0-5])bs*))|(rgb(s*(d?d%|100%)+s*,s*( d?d%|100%)+s*,s*(d?d%|100%)+s*))$/", $val); } /** * 指定されたフィールドはブール値かどうか * @param 文字列 * @return ブール値 */ 関数 is_boolean($val) { $booleans = array(1, 0, '1', '0', true, false, true, false); $literals = array('true', 'false', 'yes', 'no'); foreach ($booleans as $bool) { if ($val === $bool) true を返します。 } return in_array(strto lower($val), $literals); } /** * 空白のないトークン * @param 文字列 * @return ブール値 */ 関数 is_token($val) { return (bool)!preg_match('/s/', $val); } /** * フィールドが正確に正しい長さであることをチェックします。 * @param 文字列 値 * @link http://php.net/checkdnsrr PHP 5.3.0 までは Windows に追加されません * @return ブール値 */ 関数 is_emaildomain($email) { return (bool)checkdnsrr(preg_replace('/^[^@]++@/', '', $email), 'MX'); } /** * オプションの数字 7、10、11 を含む電話番号と一致します * @param 文字列 * @return ブール値 */ 関数 is_phone($number, $lengths = null) { if (!is_array($lengths)) { $lengths = 配列(7, 10, 11); } $number = preg_replace('/D+/', '', $number); return in_array(strlen($number), $lengths); } /** * 指定された文字列が UTF8 であることを確認してください * @param 文字列 * @return ブール値 */ 関数 is_utf8($val) { return preg_match('%(?: [xC2-xDF][x80-xBF] |xE0[xA0-xBF][x80-xBF] |[xE1-xECxEExEF][x80-xBF]{2} |xED[x80-x9F][x80-xBF] |xF0[x90-xBF][x80-xBF]{2} |[xF1-xF3][x80-xBF]{3} |xF4[x80-x8F][x80-xBF]{2} )+%xs', $val); } /** * 与えられた文字列は小文字です * @param 文字列 * @return ブール値 */ 関数 is_ lower($val) { return (bool)preg_match("/^[a-z]+$/", $val); } /** * 指定された文字列は大文字ですか? * @param 文字列 * @return ブール値 */ 関数 is_upper($val) { return (bool)preg_match("/^[A-Z]+$/", $val); } /** * 指定された値が次の国 PIN コードと一致することを確認します。 * = オーストリアで * au = オーストラリア * ca = カナダ * de = ドイツ語 * ee = エストニア * nl = オランダ *それ=イタリア * pt = ポルトガル * se = スウェーデン * 英国 = イギリス * 私たち = 米国 * @param 文字列 * @param 文字列 * @return ブール値 */ 関数 is_pincode($val, $country = 'us') { $patterns = array('at' => '^[0-9]{4,4}$', 'au' => '^[2-9][0-9]{2,3}$ '、'ca' => '^[a-zA-Z].[0-9].[a-zA-Z].s[0-9].[a-zA-Z].[0-9].', 'de' => '^[0-9]{5,5}$', 'ee' => '^[0-9]{5,5}$', 'nl' => '^[0-9]{4,4}s[a-zA-Z]{2,2}$', 'it' => '^[0-9]{5,5}$'、 'pt' => '^[0-9]{4,4}-[0-9]{3,3}$', 'se' => '^[0-9]{3,3}s[0-9]{2,2}$', 'uk' => '^([A-Z]{1,2}[0-9]{1}[0-9A-Z]{0,1}) ?([0-9]{1}[A-Z]{1,2} )$', 'us' => '^[0-9]{5,5}[-]{0,1}[0-9]{4,4}$'); if (!array_key_exists($country, $patterns)) false を返します。 return (bool)preg_match("/" . $patterns[$country] . "/", $val); } /** * 指定された URL が本当に存在するかどうかを確認してください。 * @param 文字列 * @return ブール値 */ 関数 is_urlexists($link) { if (!$this->is_url($link)) false を返します。 return (bool)@fsockopen($link, 80, $errno, $errstr, 30); } /** * 指定された文字列にスクリプトタグがあることを確認してください * @param 文字列 * @return ブール値 */ 関数 is_jssafe($val) { return (bool)(!preg_match("/ /"、 $val)); } /** * 与えられた文字列には HTML タグがありますか? * @param 文字列 * @return ブール値 */ 関数 is_htmlsafe($val) { return (bool)(!preg_match("/.*$1>/", $val)); } /** * 指定された文字列に複数行があることを確認してください * @param 文字列 * @return ブール値 */ 関数 is_multiline($val) { return (bool)preg_match("/[nrt]+/", $val); } /** * 指定された配列キー要素が存在するかどうかを確認します。 * @param 文字列 * @return ブール値 */ 関数 is_exists($val, $arr) { 戻り isset($arr[$val]); } /** * 指定された文字列は ASCII 形式ですか? * @param 文字列 * @return ブール値 */ 関数 is_ascii($val) { return !preg_match('/[^x00-x7F]/i', $val); } /** * 指定された値を再度チェックします コンピューターの MAC アドレス * @param 文字列 値 * @return ブール値 */ 関数 is_macaddress($val) { return (bool)preg_match('/^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA- F])$/'、 $val); } /** * 指定された値が私たち国民の社会保障番号と一致することを確認します * @param 文字列 * @return ブール値 */ 関数 is_usssn($val) { return (bool)preg_match("/^d{3}-d{2}-d{4}$/", $val); } /** * 指定された値が日付と一致するかどうかを確認します * @param 文字列 * @return ブール値 */ 関数 is_dateDE($date) { return (bool)preg_match("/^dd?.dd?.ddd?d?$/", $date); } /** * 指定された値が私たち国民の社会保障番号と一致することを確認します * @param 文字列 * @return ブール値 */ 関数 is_dateISO($date) { return (bool)preg_match("/^d{4}[/-]d{1,2}[/-]d{1,2}$/", $date); } /** * 指定された値がタイムゾーンと一致するかどうかを確認します * +00:00 | -05:00 * @param 文字列 * @return ブール値 */ 関数 is_timezone($val) { return (bool)preg_match("/^[-+]((0[0-9]|1[0-3]):([03]0|45)|14:00)$/", $val) ; } /** * オプションの秒を含む 24 時間形式の時刻 * 12:15 | 10:26:59 | 22:01:15 * @param 文字列 * @return ブール値 */ 関数 is_time24($val) { return (bool)preg_match("/^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])( :([0-5]?[0-9]))?$/"、 $val); } /** * オプションの秒を含む 12 時間形式の時刻 *午前8時 |午前10時 |午後7時 * @param 文字列 * @return ブール値 */ 関数 is_time12($val) { return (bool)preg_match("/^([1-9]|1[0-2]|0[1-9]){1}(:[0-5][0-9][aApP][mM] ]){1}$/"、 $val); } } |