KH-WEBLOG TOP > WEBメモ > WordPress > contactorm7で日本語入力のみに制限する方法

contactorm7で日本語入力のみに制限する方法

contactorm7で日本語入力のみに制限する方法をメモ
functions.phpに

function wpcf7_validate_mb_char( $result, $tag ) {
	$field_name	= 'your-message'; //チェックしたいフォームフィールド名
	$value		= str_replace(array("\r", "\n", ' ', ' '), '', $_POST[$field_name]); //改行とスペースを取り除く
	$min_rate	= 50; //(%)最小日本語文字数の割合(これ以上でなければエラー)
	$str_l		= mb_strlen($value , "UTF-8"); // 文字数取得(ダブルクオーテーション必須)
	$str_w		= mb_strwidth($value, "UTF-8"); // 文字幅(半角1、全角2でカウント)
	$str_mb		= $str_w - $str_l; // 日本語(マルチバイト)の文字数取得
	$str_mb_rate	= ($str_mb / $str_l) * 100; // 日本語文字数の割合を計算

	if (!empty($value)) {
		if ($str_mb_rate < $min_rate) {
			$result['valid'] = false;
			$result['reason'] = array($field_name => '日本語で入力してください。');
		}
	}
	return $result;
}
add_filter( 'wpcf7_validate', 'wpcf7_validate_mb_char', 10, 2 );

でOK

your-messageの部分はcontactform7で設定しているフィールド名を指定します。

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML5 JavaScript jQuery LightBox PHP SEO WordPress アイキャッチ画像 アクセス解析 カテゴリー カラーミーショップ カート コメント ショートコード ソースコード タグ テンプレートタグ ドロップダウンメニュー パンくずリスト パーマリンク ビジュアルエディタ フォーム フルスクリーン プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 角丸 関連記事