正規表現に基づいてカスタム検証を構築できるJavaScriptバリデーターを使用しています
彼らのウェブサイトから:regexp=^[A-Za-z]{1,20}$
最大20文字の英字を使用できます。
入力フィールドに入力されたデータがこのスコープ外の場合、これはエラーを返します。
必要なのは、値の最初の文字にアスタリスクが付いている場合に入力フィールドのエラーをトリガーする文字列です。
次の方法で、反対のトリガー(最初の文字がアスタリスクでない場合はエラー)をトリガーできます。
regexp=[\u002A]
Heeeeelpお願いします:-D
どうですか:
^[^\*]
notアスタリスクで始まる入力に一致します。正規表現の例から判断すると、正規表現と一致しない入力は検証エラーの原因となるため、二重否定を使用すると、必要な動作が得られるはずです:-)
私の正規表現の説明:
^
は、「文字列の先頭」を意味します[
... ]
構造は文字クラスであり、角かっこで囲まれた文字の中から1つの文字に一致します。^
は、「文字クラスを否定する」ことを意味します。つまり、リストされている文字の1つであるnotの任意の文字に一致します。\*
はリテラル*
を意味します。 *
は正規表現で特別な意味を持っているので、バックスラッシュでエスケープしました。 Robがコメントで指摘しているように、文字クラス内の(ほとんどの)特殊文字をエスケープする必要は厳密にはありません。^[^\*].+
はどうですか。
内訳:
^
=文字列の開始。[^\*]
= '*'以外の任意の1文字。.+
=他の文字を少なくとも1回。[の後に^を使用すると、文字クラスを反転できます。
regexp=[^\u002A]