0

目立たない検証で使用できるように、IClientValidate を実装するカスタム正規表現属性があります。

実行すると、FireBug で次のエラーが発生します

SyntaxError: 無効な量指定子
の一致 = new RegExp(params).exec(value);

渡された正規表現が明らかに気に入らず、C# で有効です。JavaScriptで有効にするために何をする必要があるのか​​ わかりません。

正規表現は

^(?i)([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?\s?[0-9][ABD-HJLN-UW-Z]{2})$

4

3 に答える 3

1

JavaScript の正規表現のフレーバーは、.NET (C#) に比べて非常に限られています。サポートされていない多くの機能の 1 つは、フォーム(?i)regexまたはのインライン修飾子です(?i:regex)。ただし、new RegExp(params)コンストラクターを使用しているため、修飾子を 2 番目のパラメーターとして渡すことができるはずです。

"^[A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?\s?[0-9][ABD-HJLN-UW-Z]{2}$",
"i"
于 2013-01-15T09:29:18.810 に答える
1

修飾子(?i)で置換:i
var patt=/^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?\s?[0-9][ABD-HJLN-UW-Z]{2})$/i

于 2013-01-15T08:57:43.827 に答える
0

これで正規表現を実行すると: http://regexpal.com/ この部分でエラーが発生します:(?i)

Rexegpal は JavaScript 正規表現テスターです。したがって、ここで機能させることができれば、コードに適用できます。

おそらく、試してみる文字列の例がありますか?

于 2013-01-15T08:56:08.123 に答える