2012-04-19 15 views
1

英語(辞書スタイル)の単語の検索フィールドがあります。このコードでは、文字と特殊文字を含まない用語のみを受け入れるようにしています。入力にスペイン語の特殊文字を許可する

$('#q').keyup(function(){ 
    $(this).val($(this).val().replace(/[^a-zA-Z ]/g,function(str){return '';})); 
}); 

は最近、私はまた言葉・イン・スペイン語の検索フィールドを実装する必要がありました。それだけです

ñáéíóúü

ÑÁÉÍÓÚ

:私は、もちろんこれらに加え-Z A-Zとを受け入れる必要があります。何か案は?ありがとう。

答えて

2

大文字と小文字の区別がない場合は、フラグiを使用できます。特殊文字を追加したところです。

$('#q').keyup(function(){ 
    $(this).val($(this).val().replace(/[^a-zñáéíóúü ]/ig,function(str){return '';})); 
}); 
+0

注意してみてください:私はまた、追加 'と許可文字リストに¨しなければなりませんでした。私がそうしないと、ユーザーは決してáのようなものを入力することはできません。スペイン語のキーボードでは、最初に '... aを追加して、自動的にAに変換する必要があります。 – andufo

+0

ここで問題が発生しました:s ...ユーザーがカーソルキーを使用して単語を修正するとLEFTキーを押す)keyup()メソッドは、そのキーもチェックするかのように理解します。回避策はありますか? – andufo

+0

私はこれらのキーアップコントロールが嫌いです、私は変更時に入力をチェックすることを好む。さらに、この解決策は、そのフィールドにコピペラティブなilegal文字を拒否します。 – tarmaq

2

この1

/[^a-zñáéíóúüA-ZÑÁÉÍÓÚ]/g 
+0

@ tarmaqのソリューションは、iフラグを使用しているため選択しました – andufo

関連する問題