私のスキーマでは、ユーザーが入力できるデータの種類を制限するために、特定のパターンを認識したいと考えています。正規表現を使用してユーザーが入力できる内容を制限しますが、oneのようなオンラインバリデーターを使用してJSONを検証しようとすると、正規表現にフラグが立てられます。Regexをエスケープして有効なJSONを取得する
バリエーターにそれに同意しない正規表現の特殊文字を無視させる方法はありますか?
奇妙なことは、バリデーターが特定のインスタンスでのみトリップすることです。例えば、それらにもかかわらず、そのフラグ正規表現の最初のインスタンス二及びませんが、同一のここにいる:\
の進エンコーディングである%5C
を使用して、あなたがそれらをコードする可能性の検証をめちゃくちゃにされている
"institutionname": {
"type": "string",
"description": "institution name",
"label": "name",
"input-type": "text",
"pattern": "^[A-Za-z0-9\s]+$"
},
"bio": {
"type": "string",
"label": "bio",
"input-type": "text",
"pattern": "^[A-Za-z0-9\s]+$",
"help-box": "tell us about yourself"
},
別のバックスラッシュを前に付けてバックスラッシュをエスケープする必要があります: ''^[A-Za-z0-9 \\ s] + $ "'。私が試したときにJSONLintは両方のインスタンスにフラグを立てました。 –
どのように私はこれをエスケープしますか: "パターン": "[[A-Za-z \ s] + [^ 0-9A-Z + \\\ _ \ - \〜\' \!\ @ \#\ $ \% \^\&\ * \(\)\ + \ = \ {\} \ [\] \; \:\ '\ "\ <\> \、\ \ \/\ |] $。?" – goldisfine
ダブルは、すべてを逃れます私の例のように '\\'。あなたがエスケープした文字の多くは文字クラスの中にあるので、とにかくエスケープする必要はありません –