1

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

同じように、すべての英語/スペイン語のアルファベット、数字を送信し、それらの文字を除外するにはどうすればよいですか。

4

1 に答える 1

2

正規表現を次のように変更すると、機能するはずです。

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

またはMДΓΓБДLLがコメントで指摘したように:

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

文字クラスの^先頭にあるはそれを否定するので、これは「にないすべての文字に一致し[a-zA-Z0-9_áÁéÉíÍóÓúÚñÑ]、また一致する_」と読むことができます。

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

于 2012-04-19T18:32:23.897 に答える