📌

phpのIPアドレスのバリデーション

2022/08/28に公開
/**
 * ip_check
 * IPアドレスであるか否かの判定
 * 引数:$value:試験対象
 * 返り値:true:IPアドレス
 *        false:IPアドレスでない
 */
function ip_check( $value ) {
    if ( strpos( $value, '/' ) === false ) {
        return false;
    }
    list( $ip, $mask ) = explode( '/', $value );
    if ( ! filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) {
        return false;
    }
    if( $mask > 32 || $mask < 1 ) {
        return false;
    }

    return true;
}

Discussion