Changeset 17328

Show
Ignore:
Timestamp:
08/10/08 18:32:37 (5 years ago)
Author:
vkgtaro
Message:

hiragana/katakana の実装変更とテスト追加ー

Location:
lang/perl/FormValidator-LazyWay/trunk
Files:
4 added
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/FormValidator-LazyWay/trunk/lib/FormValidator/LazyWay/Rule/Japanese.pm

    r13091 r17328  
    33use strict; 
    44use warnings; 
     5use Encode (); 
    56 
    67sub hiragana { 
     
    89    my $args = shift; 
    910 
    10     utf8::decode($text) 
    11             unless $args->{flagged}; 
     11    $text = Encode::decode('utf8', $text) 
     12            if $args->{bytes}; 
     13 
     14    if ( ref $args->{allow} eq 'ARRAY' ) { 
     15        foreach my $allow ( @{$args->{allow}} ) { 
     16            $allow = Encode::decode('utf8', $allow) 
     17                if $args->{bytes}; 
     18            $text =~ s{$allow}{}xmsg; 
     19        } 
     20    } 
     21 
    1222    return ( $text =~ m{^\p{InHiragana}+$} ) ? 1 : 0; 
    1323} 
     
    1727    my $args = shift; 
    1828 
    19     utf8::decode($text) 
    20             unless $args->{flagged}; 
     29    $text = Encode::decode('utf8', $text) 
     30            if $args->{bytes}; 
     31 
     32    if ( ref $args->{allow} eq 'ARRAY' ) { 
     33        foreach my $allow ( @{$args->{allow}} ) { 
     34            $allow = Encode::decode('utf8', $allow) 
     35                if $args->{bytes}; 
     36            $text =~ s{$allow}{}xmsg; 
     37        } 
     38    } 
     39 
    2140    return ( $text =~ m{^\p{InKatakana}+$} ) ? 1 : 0; 
    2241}