2016-12-23 13 views
0

私は高分子紙を使用しており、入力フィールドの検証にパターンを使用しています。Polymer throwing error有効な正規表現に無効な正規表現

私の検証文字列は、私はそれを有効な式HERE

を確認しかし、私のポリマーコードは、いくつかのエスケープ問題を言ってコンソールにエラーがスロー

^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$ 

です。コンソールで

<paper-input label="Your name" pattern='^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$' required onfocusout="validate()" error-message="Please enter VALUE"></paper-input> 

エラーはここで

Pattern attribute value ^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$ is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/: Invalid escape 

FIDDLEであると言います。エラーはコンソールで見ることができます。

+0

chromeのように見えますが、正規表現のバリデータと同じように複雑な正規表現は処理されません。これは非常に複雑に見えますが、何を達成しようとしていますか? – Stu

+0

@Stu私は実際にレガシーコードを再ウィットしていますが、私は式を変更するつもりはありません。その電子メールの妥当性検査は私が選択肢を認識していますが、私はそれらを使用することができないので私を助けていません –

+0

@ウィクスターStribiżewはいこのマッチングは私がこのポイントを見逃した問題かもしれません実際にそれらの正規表現は、文字列として使用し、コードのどこかで使用します。私はちょうどその正規表現をパターン属性 –

答えて

2

あなたは"をエスケープしてはならない。

<form> 
 
    <input label="Your name" pattern='^(([^<>()[\]\\.,;:\[email protected]"]+(\.[^<>()[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$' required error-message="Please enter VALUE"> 
 
    <input type="submit" value="Submit"> 
 
</form>

NB:私は、スニペットの仕事をするためにここにinputpaper-inputを変更しました。

+0

これは役に立ちます:)パターン表現では\\と\ "をエスケープするべきではありませんか? –

+0

@VinodLouis" "はエスケープする唯一の文字です。私は編集しました。 – SLePort

+0

ですが、この中で(http:?s)?\:\/\/[a-zA-Z0-9] +(?:(?:\。| \ - )[a-zA-Z0-9 (a-zA-1)+(a-zA- \&[\ w] + \ = [\ w] +) - ] +)*)$私は\ "私は今混乱しています –

関連する問題