2012-04-19 6 views
1

私はスペインのサイトで働いていますが、私はそのサイトで検索しており、これらの特殊文字をキーボードで送信することはできません(!@#$%^ & *()_ + - = [] \ {} |、 ': "./ <>?)英語版のこのサイトでは、term.replace(/\W|_/g," ");のようなものをJavaスクリプトで実行していました。これにより、すべてのアルファベット(大文字と小文字の両方) 。。これらの特殊文字私はすべて英語/スペイン語のアルファベットを送信する方法と同じように特殊文字を除外し、スペイン語/英語のアルファベットを許可する方法は?

、数字、それらの文字を除外

答えて

2

次のように正規表現を変更する作業をする必要があります:

/[^\wáÁéÉíÍóÓúÚñÑ]|_/g 

それともMДΓΓБДLLはコメントで指摘したように:文字クラスの先頭に^はそれを否定し

/[^\wáéíóúñ]|_/gi 

を、ので、これは「[a-zA-Z0-9_áÁéÉíÍóÓúÚñÑ]にされていないすべての文字にマッチとして読み取ることができ、また_と一致します。

補足として、現在の正規表現を簡略化して/[\W_]/gにすることができます。

+0

大文字小文字を区別しないようにすることで、文字クラスを簡素化できます。 '/ [^ \wáéíóúñ] | _/gi' –

+0

@MДΓΓLLLL、スペイン語のキャラクターのために働くかどうかは分かりませんでした。 –

+0

+1と単なるメモですが、 '/ [\ W _]/g'のほうが優れていますが、交替が必要ないので、実際にはOPのオリジナルより長い1文字です:) – Robbie

関連する問題