2

テキストにセットの文字のみが含まれているかどうかを確認 (テスト) する方法 (たとえば、テキストに句読点のみが含まれている場合)

var regex = /[\.,-\/#!$%\^&\*;:{}=\-_`~()]/g

res = text.replace(regex, '')

if (res) return false

それでreplaceで作ったのですが、regex.testでできますか?

4

1 に答える 1

8

はい、そうです。2 つの可能性があります。1 つは、アンカーを使用して、完全な文字列がこれらで構成されていることを表明することです。

var regex = /^[\.,-\/#!$%\^&\*;:{}=\-_`~()]+$/;
if(regex.test(text))

または、否定された文字クラスを使用して、それが一致するかどうかを確認し、結果を再度否定することもできます

var regex = /[^\.,-\/#!$%\^&\*;:{}=\-_`~()]/;
if(!regex.test(text))

,-\/を含む範囲であることに注意してください,-./。これは冗長であり、文字クラスが変更された場合にエラーの原因になる可能性があります。文字クラスを次のように単純化することができます。

[.,\/#!$%^&*;:{}=_`~()-]

(または、選択したアプローチに応じて、その否定バージョン。)

于 2012-12-03T17:46:54.687 に答える