定義
チェックというよりは、ひらがな・カタカナをチェックした後で全てひらがな、全てカタカナに変換する
ダウンロード(Gist)
fuel/app/classes/validation/japanese.php
<?php
/**
* 独自バリデーションを追加
*/
class Validation_Japanese
{
/**
*
*/
public static function _validation_hiragana($val)
{
if( empty($val) ){ return true; }
if( static::_validation_hirakata($val) ){
return mb_convert_kana($val, "sHcV");
}
return false;
}
/**
*
*/
public static function _validation_katakana($val)
{
if( empty($val) ){ return true; }
if( static::_validation_hirakata($val) ){
return mb_convert_kana($val, "sKVC");
}
return false;
}
/**
*
*/
public static function _validation_hirakata($val)
{
if( empty($val) ){ return true; }
mb_regex_encoding("UTF-8");
if (preg_match("/^[ ぁ-んァ-ヶーヲ-゚。-゚0-90-9]+$/u", $val)) {
return true;
}
return false;
}
}
バリデーション
- ひらがな
- カタカナ
- ひらカタ混在
$val->add_field('name_hiragana', 'name_hiragana', 'required|hiragana|max_length[255]');
$val->add_field('name_katakana', 'name_katakana', 'required|katakana|max_length[255]');
$val->add_field('name_hirakata', 'name_hirakata', 'required|hirakata|max_length[255]');
値確認
echo $val->validated('name_hiragana'); //すべてひらがな
echo $val->validated('name_katakana'); //スベテカタカナ
echo $val->validated('name_hirakata'); //ひらカタこんザイ