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で設定しているフィールド名を指定します。

コーディング・WordPress化作業を代行します

WordPressのおすすめ参考書

楽天Kobo電子書籍ストア
¥3,278 (2024/04/19 19:05時点 | 楽天市場調べ)

TAGS

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