Tripletail
view release on metacpan or search on metacpan
lib/Tripletail/Value.pm view on Meta::CPAN
1;
}
sub isExistentDateTime {
# YYYY-MM-DD HH:mm:ss ãã®æ¥æãåå¨ãããªã1
my $this = shift;
my %option = @_;
for my $key (keys %option) {
if($key !~ /^format|date_delim|date_delim_optional|time_delim|time_delim_optional$/) {
die __PACKAGE__."#isExistentDateTime: invalid argument. [$key] (弿°åã® $key ã¯ãµãã¼ãããã¦ãã¾ãã)\n";
}
}
$option{format} = exists $option{format} ? $option{format} : $DEFAULT_DATETIME_FORMAT;
if($option{format} !~ /^$YYYYMMDDHHMMSS|$YYYYMMDDHMS|$YMDHHMMSS|$YMDHMS$/o) {
die __PACKAGE__."#isExistentDateTime: invalid argument. [$option{format}] (formatã® $option{format} ã¯ãµãã¼ãããã¦ãã¾ãã)\n";
}
if((exists $option{date_delim} && exists $option{date_delim_optional}) || (exists $option{time_delim} && exists $option{time_delim_optional})) {
die __PACKAGE__."#isExistentDateTime: invalid argument. (date_delim/date_delim_optionalåã¯time_delim/time_delim_optionalãåæã«æå®ããäºã¯ã§ãã¾ãã)\n";
}
if($option{format} ne $YYYYMMDDHHMMSS && (exists $option{date_delim_optional} || exists $option{time_delim_optional})) {
die __PACKAGE__."#isExistentDateTime: invalid argument. [$option{format}] ([YYYYMMDD HHMMSS]以å¤ã§ã¯optionalãã©ã¡ã¼ã¿ãæå®ã§ãã¾ãã)\n";
}
if(!defined($this->{value})) {
return undef;
}
my @datetime = $this->_parseDateTime(_get_parse_param($this->{value}, \%option));
if(!@datetime || !$this->_isExistentDateTime(@datetime)) {
return undef;
}
1;
}
sub isGif {
my $this = shift;
if(!defined($this->{value})) {
return undef;
}
$this->{value} =~ /\AGIF8[79]a/ ? 1 : undef;
}
sub isJpeg {
my $this = shift;
if(!defined($this->{value})) {
return undef;
}
$this->{value} =~ /\A\xFF\xD8/ ? 1 : undef;
}
sub isPng {
my $this = shift;
if(!defined($this->{value})) {
return undef;
}
$this->{value} =~ /\A\x89PNG\x0D\x0A\x1A\x0A/ ? 1 : undef;
}
sub isHttpUrl {
my $this = shift;
if(!defined($this->{value})) {
return undef;
}
$this->{value} =~ m!\Ahttp://! ? 1 : undef;
}
sub isHttpsUrl {
my $this = shift;
if(!defined($this->{value})) {
return undef;
}
$this->{value} =~ m!\Ahttps://! ? 1 : undef;
}
sub isLen {
my $this = shift;
my $min = shift;
my $max = shift;
if(!defined($this->{value})) {
return undef;
}
my $len = $this->getLen;
if(defined($min)) {
$len >= $min or return undef;
}
if(defined($max)) {
$len <= $max or return undef;
}
1;
}
sub isSjisLen {
my $this = shift;
my $min = shift;
my $max = shift;
if(!defined($this->{value})) {
return undef;
}
my $len = $this->getSjisLen;
lib/Tripletail/Value.pm view on Meta::CPAN
'HHMMSS'
'HMS'
time_delim
æå»åºåãæåãæå®ãããåºåãæåã¯è¤æ°æå®å¯è½ã
çç¥æã¯:ãæå®ãããã
time_delim_optional
æå»åºåãæåãæå®ãããæå®ããåºåãæåã¨åºåãæåãªãã対象ã¨ããã
formatã¯'HHMMSS'ã®ã¿æå®å¯è½ã
time_delimã¨åæã«æå®ããäºã¯åºæ¥ãªãã
çç¥å¯è½ã
=item isExistentDateTime
$bool = $val->isExistentDateTime
$bool = $val->isExistentDateTime(format => 'YMD HMS',date_delim => '-/',time_delim => ':')
$bool = $val->isExistentDateTime(date_delim_optional => '-/',time_delim_optional => ':')
YYYY-MM-DD HH:MM:SSã§è¨å®ãããæ¥ä»æå»ãå®å¨ãããã®ãªã1ã
ããã§ãªããã°undefãè¿ãã
弿°ãçç¥ããå ´åã¯YYYY-MM-DD HH:MM:SSã§è¨å®ãããæ¥ä»æå»ã®ã¿ãã§ãã¯ããã
fomrat
æ¥ä»æå»ãã©ã¼ããããæå®ãããçç¥å¯è½ã
çç¥æã¯'YYYYMMDD HHMMSS'ãæå®ãããã
'YYYYMMDD HHMMSS'
'YMD HHMMSS'
'YYYYMMDD HMS'
'YMD HMS'
date_delim
æ¥ä»åºåãæåãæå®ãããåºåãæåã¯è¤æ°æå®å¯è½ã
çç¥æã¯-ãæå®ãããã
time_delim
æå»åºåãæåãæå®ãããåºåãæåã¯è¤æ°æå®å¯è½ã
çç¥æã¯:ãæå®ãããã
date_delim_optional
æ¥ä»åºåãæåãæå®ãããæå®ããåºåãæåã¨åºåãæåãªãã対象ã¨ããã
formatã¯'YYYYMMDD HHMMSS'ã®ã¿æå®å¯è½ã
date_delimã¨åæã«æå®ããäºã¯åºæ¥ãªãã
çç¥å¯è½ã
time_delim_optional
æå»åºåãæåãæå®ãããæå®ããåºåãæåã¨åºåãæåãªãã対象ã¨ããã
formatã¯'YYYYMMDD HHMMSS'ã®ã¿æå®å¯è½ã
time_delimã¨åæã«æå®ããäºã¯åºæ¥ãªãã
çç¥å¯è½ã
=item isGif
$bool = $val->isGif
=item isJpeg
$bool = $val->isJpeg
=item isPng
$bool = $val->isPng
ããããã®å½¢å¼ã®ç»åãªã1ã
ããã§ãªããã°undefãè¿ãã
ç»åã¨ãã¦å³å¯ã«æ£ããå½¢å¼ã§ãããã©ããã¯ç¢ºèªããªãã
( L<file(1)> ç¨åº¦ã®å¤æã®ã¿ã)
=item isHttpUrl
$bool = $val->isHttpUrl
"http://" ã§å§ã¾ãæååãªã1ã
ããã§ãªããã°undefãè¿ãã
=item isHttpsUrl
$bool = $val->isHttpsUrl
"https://" ã§å§ã¾ãæååãªã1ã
ããã§ãªããã°undefãè¿ãã
=item isLen($min,$max)
$bool = $val->isLen($min,$max)
ãã¤ãæ°ã®ç¯å²ãæå®å¤ä»¥å
ããã§ãã¯ããã$mix,$maxã¯çç¥å¯è½ã
ç¯å²å
ã§ããã°1ãããã§ãªããã°undefãè¿ãã
=item isSjisLen($min,$max)
$bool = $val->isSjisLen($min,$max)
Shift-Jisã§ã®ãã¤ãæ°ã®ç¯å²ãæå®å¤ä»¥å
ããã§ãã¯ããã$mix,$maxã¯çç¥å¯è½ã
ç¯å²å
ã§ããã°1ãããã§ãªããã°undefãè¿ãã
=item isCharLen($min,$max)
$bool = $val->isCharLen($min,$max)
æåæ°ã®ç¯å²ãæå®å¤ä»¥å
ããã§ãã¯ããã$mix,$maxã¯çç¥å¯è½ã
ç¯å²å
ã§ããã°1ãããã§ãªããã°undefãè¿ãã
=item 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ä¸ã§ã®ãã©ã¤ãã¼ãé åã«ããããããï¼
=item isPcPortable
( run in 1.448 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )