14

正規表現に基づいてカスタム検証を構築できるJavaScriptバリデーターを使用しています

彼らのウェブサイトから:regexp=^[A-Za-z]{1,20}$最大20文字のアルファベットを許可します。

入力フィールドに入力されたデータがこのスコープ外の場合、これはエラーを返します。

必要なのは、値の最初の文字がアスタリスクである場合に入力フィールドのエラーをトリガーする文字列です。

次のようにして、反対のトリガー(最初の文字がアステリックスでない場合のエラー)を発生させることができます。

regexp=[\u002A]

Heeeeelpお願いします:-D

4

3 に答える 3

33

どうですか:

^[^\*]

これは、アスタリスクで始まらない入力と一致します。正規表現の例から判断すると、正規表現と一致しない入力は検証エラーの原因となるため、二重否定を使用すると、必要な動作が得られるはずです:-)

私の正規表現の説明:

  • 最初^は「文字列の先頭」を意味します
  • [...構文は]文字クラスであり、角かっこで囲まれた文字の中から1つの文字に一致します。
  • 文字クラスの^先頭にあるは、「文字クラスを否定する」ことを意味します。つまり、リストされている文字の1つではない任意の文字に一致します。
  • \*リテラルを意味し*ます; *正規表現では特別な意味があるので、バックスラッシュでエスケープしました。Robがコメントで指摘しているように、文字クラス内の(ほとんどの)特殊文字をエスケープする必要は厳密にはありません。
于 2011-03-14T01:33:53.573 に答える
3

どうですか^[^\*].+

内訳:

  • ^=文字列の開始。
  • [^\*]='*'以外の任意の1文字。
  • .+=少なくとも1回は他の文字。
于 2011-03-14T01:35:57.857 に答える
0

[の後に^を使用すると、文字クラスを反転できます。

regexp=[^\u002A]

于 2011-03-14T01:34:46.270 に答える