0

jquery validationengine を使用して、MAC が検証されているかどうかを確認しようとしています。validationengine で、次のように「onlyMAC」というカスタム属性を追加します。

"onlyMAC":{
"regex":"/^([A-Z0-9]){16}$/",
"alertText":"* MAC invalid"}

と形式で:

<form id='myform'>
<input name="mac" type="text" value="" class="validate[required,custom[onlyMAC]]"/>
</form>
<script>
$('#myform').validationEngine();
</script>

しかし、Mac に何を入力しても、validationEngine は常に alertText: "* MAC invalid" を返します。ここで正規表現をチェックしましたhttp://jsfiddle.net/chennet/LRfW6/、問題ないようです。それで、私はどこで間違ったのですか?

4

1 に答える 1

0

ドキュメントの例をご覧ください: https://github.com/posabsolute/jQuery-Validation-Engine#selectors

正規表現の定義から引用符を削除します。

"onlyMAC":{
"regex":/^([A-Z0-9]){16}$/,
"alertText":"* MAC invalid"}

問題は、正規表現リテラル構文と正規表現コンストラクターを混在させていることです。

/^([A-Z0-9]){16}$/    // RegExp literal uses the slashes
new RegExp('^([A-Z0-9]){16}$')    // RegExp constructor takes a string (without the slashes).
于 2013-08-23T03:11:43.190 に答える