Tripletail::Value - 値の検証や変換

# NAME

Tripletail::Value - 値の検証や変換

# SYNOPSIS

      my $value = $TL->newValue('null@example.org');

      if ($value->isEmail) {
          print $value->get . " is a valid email address.\n";
      }

      # ｎｕｌｌ＠ｅｘａｍｐｌｅ．ｏｒｇ を表示
      print $value->convWide->get . "\n";

# DESCRIPTION

セットした値１つの形式をチェックし、または形式を矯正する。

値を文字列として扱う場合は、常に UTF-8 である事が前提となる。

## METHODS

### 一般

`$TL->newValue`

        $val = $TL->newValue
        $val = $TL->newValue($value)

  Tripletail::Value オブジェクトを作成。 引数があれば、その引数で set が実行される。

set

        $val->set($value)

  値をセット。

get

        $value = $val->get

  矯正後の値を取得。

### set系

`setDate`

        $val->setDate($year, $month, $day)

  年月日を指定してYYYY-MM-DD形式でセットする。 日付として不正である場合はundefがセットされる。

`setDateTime`

        $val->setDateTime($year, $month, $day, $hour, $min, $sec)

  各値を指定して時刻をYYYY-MM-DD HH:MM:SS形式でセットする。 時刻として不正である場合はundefがセットされる。 $min、$secは省略でき、省略時は0が使用される。

`setTime`

        $val->setTime($hour, $min, $sec)

  各値を指定して時刻をHH:MM:SS形式でセットする。 範囲は00:00:00～23:59:59までで、時刻として正しくない場合はundefがセットされる。 $min、$secは省略でき、省略時は0が使用される。

### get系

getLen

        $n_bytes = $val->getLen

  バイト数を返す。

getSjisLen

        $n_bytes = $val->getSjisLen

  Shift_Jisでのバイト数を返す。

getCharLen

        $n_chars = $val->getCharLen

  文字数を返す。

getAge

        $age = $val->getAge
        $age = $val->getAge($date)

  YYYY-MM-DD形式の値として、$date の日付での年齢を返す。省略可能。 日付の形式が間違っている場合はundefを返す。

  デフォルトは現在の日付。

getRegexp

        $regexp = $val->getRegexp($type)

  指定された$typeに対応する正規表現を返す。 対応する$typeは次の通り。

  hira ひらがなに対応する正規表現を返す。

  kata カタカナに対応する正規表現を返す。

  numbernarrow 半角数字に対応する正規表現を返す。

  numberwide 全角数字に対応する正規表現を返す。

### is系

isEmpty

        $bool = $val->isEmpty

  値が空（undefまたは0文字）なら1。 そうでなければundefを返す。

isWhitespace

        $bool = $val->isWhitespace

  半角/全角スペース、タブのみで構成されていれば1。 そうでなければundefを返す。値が0文字やundefの場合もundefを返す。

isBlank

        $bool = $val->isBlank

  値が空（undefまたは0文字）であるか、半角/全角スペース、タブのみで構成されていれば1。 そうでなければundefを返す。値が0文字やundefの場合もundefを返す。

isPrintableAscii

        $bool = $val->isPrintableAscii

  文字列が制御コードを除くASCII文字のみで構成されているなら1。 そうでなければundefを返す。値が0文字やundefの場合もundefを返す。

isWide

        $bool = $val->isWide

  文字列が全角文字のみで構成されているなら1。 そうでなければundefを返す。値が0文字やundefの場合もundefを返す。

isPassword

        $bool = $val->isPassword

  文字列が半角の数字、アルファベット大文字、小文字、記号を全て最低1ずつ含んでいるなら1。 そうでなければundefを返す。

isZipCode

        $bool = $val->isZipCode

  7桁の郵便番号（XXX-XXXX形式）なら1。 そうでなければundefを返す。

  実在する郵便番号かどうかは確認しない。

isTelNumber

        $bool = $val->isTelNumber

  電話番号（/^\d[\d-]+\d$/）なら1。 そうでなければundefを返す。

  数字で始まり、数字で終わり、ハイフン(-)が一つ以上あり、その間が数字とハイフン(-)のみで構成されていれば電話番号とみなす。

isEmail

        $bool = $val->isEmail

  メールアドレスとして正しい形式であれば1。 そうでなければundefを返す。

isMobileEmail

        $bool = $val->isMobileEmail

  メールアドレスとして正しい形式であれば1。 そうでなければundefを返す。

  但し携帯電話のメールアドレスでは、アカウント名の末尾にピリオドを含んでいる場合がある為、これも正しい形式であるとみなす。

  携帯電話キャリアのドメイン名を判別するわけではないため、通常のメールアドレスも 1 を返す。

isInteger($min,$max)

        $bool = $val->isInteger
        $bool = $val->isInteger($min,$max)

  整数で、かつ$min以上$max以下なら1。$mix,$maxは省略可能。 そうでなければundefを返す。 空もしくはundefの場合は、undefを返す。

  デフォルトでは、最大最小のチェックは行わなず整数であれば1を返す。

isReal($min,$max)

        $bool = $val->isReal
        $bool = $val->isReal($min,$max)

  整数もしくは小数で、かつ$min以上$max以下なら1。$mix,$maxは省略可能。 そうでなければundefを返す。 空もしくはundefの場合は、undefを返す。

  デフォルトでは、最大最小のチェックは行わなず、整数もしくは小数であれば1を返す。

isHira

        $bool = $val->isHira

  平仮名だけが含まれている場合は1。 そうでなければundefを返す。値が0文字やundefの場合もundefを返す。

isKata

        $bool = $val->isKata

  片仮名だけが含まれている場合は1。 そうでなければundefを返す。値が0文字やundefの場合もundefを返す。

isExistentDay

        $bool = $val->isExistentDay

  YYYY-MM-DDで設定された日付が実在するものなら1。 そうでなければundefを返す。

isGif

        $bool = $val->isGif

isJpeg

        $bool = $val->isJpeg

isPng

        $bool = $val->isPng

  それぞれの形式の画像なら1。 そうでなければundefを返す。

  画像として厳密に正しい形式であるかどうかは確認しない。 ( file(1) 程度の判断のみ。)

isHttpUrl

        $bool = $val->isHttpUrl

  "http://" で始まる文字列なら1。 そうでなければundefを返す。

isHttpsUrl

        $bool = $val->isHttpsUrl

  "https://" で始まる文字列なら1。 そうでなければundefを返す。

isLen($min,$max)

        $bool = $val->isLen($min,$max)

  バイト数の範囲が指定値以内かチェックする。$mix,$maxは省略可能。 範囲内であれば1、そうでなければundefを返す。

isSjisLen($min,$max)

        $bool = $val->isSjisLen($min,$max)

  Shift-Jisでのバイト数の範囲が指定値以内かチェックする。$mix,$maxは省略可能。 範囲内であれば1、そうでなければundefを返す。

isCharLen($min,$max)

        $bool = $val->isCharLen($min,$max)

  文字数の範囲が指定値以内かチェックする。$mix,$maxは省略可能。 範囲内であれば1、そうでなければundefを返す。

isPortable

        $bool = $val->isPortable

  機種依存文字以外のみで構成されていれば1。 そうでなければ（機種依存文字を含んでいれば）undefを返す。

  値が0文字やundefの場合は1を返す。

  機種依存文字は、以下の文字を指す。

  Shift_JISコード上でのNEC選定IBM拡張文字(89-92区)、IBM拡張文字(115-119区)、特殊文字エリア、JIS外字エリア、MAC外字及び縦組用、 JIS領域外の13区の記号。 Unicode上でのプライベート領域（U+E000～U+F8FF、U+F0000～U+10FFFF）。

  携帯絵文字も機種依存文字に含まれる。（文字コード変換によってUnicode上でのプライベート領域にマップされる）

isPcPortable

        $bool = $val->isPcPortable

  携帯絵文字以外で構成されていれば1。 そうでなければ（携帯絵文字を含んでいれば）undefを返す。

  携帯絵文字は、文字コード変換によって Unicode上のプライベート領域（U+FF000～U+FFFFF）に マップされます。この領域の文字があるかで判定を行います。

isIpAddress

        $bool = $val->isIpAddress($checkmask)

  $checkmaskに対して、設定されたIPアドレスが一致すれば1。そうでなければundef。

  $checkmaskは空白で区切って複数個指定する事が可能。

  例：'10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 127.0.0.1 fe80::/10 ::1'。

### conv系

convHira

        $val->convHira

  ひらがなに変換する。

convKata

        $val->convKata

  カタカナに変換する。

convNumber

        $val->convNumber

  半角数字に変換する。

convNarrow

        $val->convNarrow

  全角文字を半角に変換する。

convWide

        $val->convWide

  半角文字を全角に変換する。

convKanaNarrow

        $val->convKanaNarrow

  全角カタカナを半角に変換する。

convKanaWide

        $val->convKanaWide

  半角カタカナを全角に変換する。

convComma

        $val->convComma

  半角数字を3桁区切りのカンマ表記に変換する。

convLF

        $val->convLF

  改行コードを LF (\n) に変換する。

convBR

        $val->convBR

  改行コードを <BR>\n に変換する。

### force系

forceHira

        $val->forceHira

  ひらがな以外の文字は削除。

forceKata

        $val->forceKata

  カタカナ以外の文字は削除。

forceNumber

        $val->forceNumber

  半角数字以外の文字は削除。

forceMin($max,$val)

        $val->forceMin($max,$val)

  半角数字以外の文字を削除し、min未満なら$valをセットする。$val省略時はundefをセットする。

forceMax($max,$val)

        $val->forceMax($max,$val)

  半角数字以外の文字を削除し、maxより大きければ$valをセットする。$val省略時はundefをセットする。

forceMaxLen($max)

        $val->forceMaxLen($max)

  最大バイト数を指定。超える場合はそのバイト数までカットする。

forceMaxUtf8Len($max)

        $val->forceMaxUtf8Len($max)

  UTF-8での最大バイト数を指定。 超える場合はそのバイト数以下まで UTF-8の文字単位でカットする。

forceMaxSjisLen($max)

        $val->forceMaxSjisLen($max)

  SJISでの最大バイト数を指定。超える場合はそのバイト数以下まで SJISの文字単位でカットする。

forceMaxCharLen($max)

        $val->forceMaxCharLen($max)

  最大文字数を指定。超える場合はその文字数以下までカットする。

forcePortable

        $val->forcePortable

  機種依存文字以外を削除。

  詳しい判定条件は "isPortable" メソッドを参照。

forcePcPortable

        $val->forcePcPortable

  携帯絵文字文字以外を削除。

  詳しい判定条件は "isPcPortable" メソッドを参照。

### その他

trimWhitespace

        $val->trimWhitespace

  値の前後に付いている半角/全角スペース、タブを削除する。

countWords

  全角/半角スペースで単語に区切った時の個数を返す。

strCut

        @str = $val->strCut($charanum)

  指定された文字数で文字列を区切り、配列に格納する。

strCutSjis

        @str = $val->strCutSjis($charanum)

  Shift_JISコードに変換した際に、指定されたバイト数以下になるように 文字列を区切り、配列に格納する。

strCutUtf8

        @str = $val->strCutUtf8($charanum)

  UTF-8コードに変換した際に、指定されたバイト数以下になるように 文字列を区切り、配列に格納する。

genRandomString

        $randomstring = $val->genRandomString($length)
        $randomstring = $val->genRandomString($length, \@types)

  `$length` で指定された文字列長のランダムな文字列を生成する。 使用する文字の種類は配列リファレンスで指定する。 小文字アルファベット、大文字アルファベット、数値に関してはそれぞれ、 `alpha`、`ALPHA`、`num` で指定が可能。

  文字種を省略した時にデフォルトで使われる文字は以下の通り:

           2 3 4 5 6 7 8
       a   c d e f g h         m n   p   r   t u v w x y z
       A B C D E F G H   J K L M N   P   R S T U V W X Y Z

# SEE ALSO

Tripletail

# AUTHOR INFORMATION

Copyright 2006 YMIRLINK Inc. All Rights Reserved.

This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself

このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。

Address bug reports and comments to: tl@tripletail.jp

HP : http://tripletail.jp/

Tripletail::Value - 値の検証や変換

# INDEX

- $TL->newValue
- AUTHOR INFORMATION
- DESCRIPTION
- METHODS
- NAME
- SEE ALSO
- SYNOPSIS
- convBR
- convComma
- convHira
- convKanaNarrow
- convKanaWide
- convKata
- convLF
- convNarrow
- convNumber
- convWide
- conv系
- countWords
- forceHira
- forceKata
- forceMax($max,$val)
- forceMaxCharLen($max)
- forceMaxLen($max)
- forceMaxSjisLen($max)
- forceMaxUtf8Len($max)
- forceMin($max,$val)
- forceNumber
- forcePcPortable
- forcePortable
- force系
- genRandomString
- get
- getAge
- getCharLen
- getLen
- getRegexp
- getSjisLen
- get系
- isBlank
- isCharLen($min,$max)
- isEmail
- isEmpty
- isExistentDay
- isGif
- isHira
- isHttpUrl
- isHttpsUrl
- isInteger($min,$max)
- isIpAddress
- isJpeg
- isKata
- isLen($min,$max)
- isMobileEmail
- isPassword
- isPcPortable
- isPng
- isPortable
- isPrintableAscii
- isReal($min,$max)
- isSjisLen($min,$max)
- isTelNumber
- isWhitespace
- isWide
- isZipCode
- is系
- set
- setDate
- setDateTime
- setTime
- set系
- strCut
- strCutSjis
- strCutUtf8
- trimWhitespace
- その他
- 一般

Tripletail::Value - 値の検証や変換