ご注意!

この記事にはJavaScriptコードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

フォームフィールドから特殊文字を制限する方法

フォームの特定のフィールドに、あの厄介な特殊文字を含めたくないと思ったことはありませんか?ユーザーが不適切な絵文字や記号を入力するのにうんざりしていませんか?このガイドでは、JavaScriptを使用して、1行テキスト段落などのフィールドで不要な文字を防ぐ方法を説明します。さあ、始めましょう。フォームをもう少し整理整頓しましょう!

入力マスクという言葉を聞いたことがありますか?フォームフィールドのウィザードのようなもので、コーディングなしでユーザーが情報を入力する方法を正確に制御できます!そして、何だと思いますか?入力マスクを使用して、不要な特殊文字を防ぐこともできます。これらのマスクのカスタマイズに興味があり、さらに詳しく知りたい場合は、お任せください。カスタム入力マスクの使用に関する包括的なガイドをチェックして、すべての詳細を確認してください。

特殊文字の制限

行動する準備はできましたか?まず、これらのスニペットをサイトに追加しましょう。以下に、2つのコードスニペットがあります。1つは厄介な特殊文字を防ぐためのもので、もう1つはユーザーがフォームフィールドに貼り付けるのを防ぐためのものです。

これらのスニペットをサイトに追加する方法がわからない場合は、心配しないでください!WPForms用のカスタムPHPまたはJavaScriptの追加に関する便利なチュートリアルがあります。ステップバイステップのガイダンスについては、そちらをご覧ください。

/**
 * Restrict special characters from forms fields with special CSS class
 * Apply the class "wpf-char-restrict" to the field to enable.
 *
 * @link https://wpforms.com/developers/how-to-restrict-special-characters-from-a-form-field/
 */
 
function wpf_dev_char_restrict() {
?>
 
<script type="text/javascript">
     
    jQuery(function($){

        //Prevent any special characters in form fields with this CSS class name
        $( '.wpf-char-restrict' ).on( 'keypress', function(e){
             
			var regex = new RegExp("^[0-9a-zA-Z \b]+$");
			var key = String.fromCharCode(!event.charCode ? event.which: event.charCode);
			if (!regex.test(key)) 
				{
					alert ( "Special characters are not allowed in this field" ); // Put any message here
					event.preventDefault();
					return false;
				} 
        });
         
        //Prevent any paste features in form fields with this CSS class name
        $( '.wpf-char-restrict' ).bind( 'copy paste', function (e) {
            var regex = new RegExp( "@" );
             
            var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
             
            if (!regex.test(key)) {
                alert ( "Pasting feature has been disabled for this field" ); // Put any message here
                e.preventDefault();
                return false;
            }
        });
         
    });
 
</script>
 
<?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_char_restrict', 10 );

最初の関数では、キーボードから特殊文字を入力できないようにしています。2番目の関数は、このフィールドへのキーボードまたはマウスのクリックペースト機能を無効にします。

フォームの作成

次に、フォームを作成し、フォームフィールドを追加します。フォームの作成についてサポートが必要な場合は、この役立つチュートリアルをご覧ください

フォームを作成し、フィールドを追加します

CSSクラスの追加

次に、制限したいフィールドを選択します。フィールドオプションをクリックし、詳細設定を選択します。

次に、制限したい各フォームフィールドに対して、CSSクラスフィールドにwpf-char-restrictを追加します。このドキュメントの目的上、段落フィールドと1行テキストフィールドの両方に追加します。

上記のJavaScriptコードとCSSクラスを追加して特殊文字を制限する

これで、ユーザーが特殊文字を入力しようとしたり、フィールドに何かを貼り付けようとしたりすると、画面にアラートメッセージが表示されます。

この例では、ユーザーがコメントフィールドにメールアドレスを挿入しようとしています。

特殊文字と貼り付けを制限するには、このスニペットを使用するだけで、アラートボックスに訪問者に許可されていないことが表示されます。

住所の自動入力を特定の国に制限するためにJavaScriptを使用したいですか?住所の自動入力を特定の国に制限する方法に関するチュートリアルをご覧ください。

参照アクション

wpforms_wp_footer_end