NAME
Tripletail::Value - 値の検証や変換
SYNOPSIS
my $value = $TL->newValue('null@example.org');
if ($value->isEmail) {
print $value->get . " is a valid email address.\n";
}
# null@example.org を表示
print $value->convWide->get . "\n";
DESCRIPTION
セットした値1つの形式をチェックし、または形式を矯正する。
値を文字列として扱う場合は、常に 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。
- isWhitespace
-
$bool = $val->isWhitespace
半角/全角スペース、タブのみで構成されているか、空(undefまたは0文字)なら1。
- isPrintableAscii
-
$bool = $val->isPrintableAscii
文字列が制御コードを除くASCII文字のみで構成されているなら1。
- isWide
-
$bool = $val->isWide
文字列が全角文字のみで構成されているなら1。
- isPassword
-
$bool = $val->isPassword
文字列が半角の数字、アルファベット大文字、小文字、記号を 全て最低1ずつ含んでいるなら1。
- isZipCode
-
$bool = $val->isZipCode
7桁の郵便番号(XXX-XXXX形式)なら1。
実在する郵便番号かどうかは確認しない。
- isTelNumber
-
$bool = $val->isTelNumber
電話番号(/^\d[\d-]*\d$/)なら1。
数字で始まり、数字で終わり、その間が数字とハイフン(-)のみで構成されていれば電話番号とみなす。
- isEmail
-
$bool = $val->isEmail
メールアドレスとして正しい形式であれば1。
- isMobileEmail
-
$bool = $val->isMobileEmail
メールアドレスとして正しい形式であれば1。
但し携帯電話のメールアドレスでは、アカウント名の末尾にピリオドを含んでいる場合がある為、これも正しい形式であるとみなす。
携帯電話キャリアのドメイン名を判別するわけではないため、通常のメールアドレスも 1 を返す。
- isInteger($min,$max)
-
$bool = $val->isInteger($min,$max)
整数で、かつ$min以上$max以下なら1。省略可能。
デフォルトでは、最大最小のチェックは行わなず整数であれば1。
- isReal($min,$max)
-
$bool = $val->isReal($min,$max)
整数もしくは小数で、かつ$min以上$max以下なら1。省略可能。
デフォルトでは、最大最小のチェックは行わなず、整数もしくは小数であれば1。
- isHira
-
$bool = $val->isHira
平仮名だけが含まれている場合は1。
- isKata
-
$bool = $val->isKata
片仮名だけが含まれている場合は1。
- isExistentDay
-
$bool = $val->isExistentDay
YYYY-MM-DDで設定された日付が実在するものなら1。
- isGif
-
$bool = $val->isGif
- isJpeg
-
$bool = $val->isJpeg
- isPng
-
$bool = $val->isPng
それぞれの形式の画像なら1。
画像として厳密に正しい形式であるかどうかは確認しない。 ( file(1) 程度の判断のみ。)
- isHttpUrl
-
$bool = $val->isHttpUrl
"http://" で始まる文字列なら1。
- isHttpsUrl
-
$bool = $val->isHttpsUrl
"https://" で始まる文字列なら1。
- isLen($min,$max)
-
$bool = $val->isLen($min,$max)
バイト数の範囲が指定値以内かチェックする。 undefを指定した場合はチェックを行わない。
- isSjisLen($min,$max)
-
$bool = $val->isSjisLen($min,$max)
Shift-Jisでのバイト数の範囲が指定値以内かチェックする。 undefを指定した場合はチェックを行わない。
- isCharLen($min,$max)
-
$bool = $val->isCharLen($min,$max)
文字数の範囲が指定値以内かチェックする。 undefを指定した場合はチェックを行わない。
- isHtmlTag
-
$bool = $val->isHtmlTag
HTMLタグを含んでいるなら1。でなければundef。
- isTrailingSlash
-
$bool = $val->isTrailingSlash
文字列が半角スラッシュで終わっているなら1。でなければundef。
- isUnportable
-
$bool = $val->isUnportable
機種依存文字を含んでいるなら1。でなければundef。
- 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
半角文字を全角に変換する。
- 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)
最大文字数を指定。超える場合はその文字数以下までカットする。
- forceWhitespace
-
$val->forceWhitespace
値の前後に付いている半角/全角スペース、タブを削除する。
その他
- countWords
-
全角/半角スペースで単語に区切った時の個数を返す。
SEE ALSO
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/