2015-06-25 3 views
0

Я использую библиотеку Verify.js (http://verifyjs.com/). Кажется, именно то, что мне нужно для проверки на стороне клиента.Verify.js - Проверка с использованием регулярных выражений

Однако у меня возникли проблемы с его работой с моими регулярными выражениями, которые я пишу. Кажется, что всякий раз, когда я пытаюсь просмотреть, форма всегда разрешается подавать и регулярное выражение не оценивается (возможно, это не компиляция)?

Я считаю, что мое регулярное выражение верное. Я пытаюсь проверить, что пользователь вводит целое число или десятичное число.

<form>Type abc 
<input required type="text" data-validate="regex(^abc$)" />Type integer/decimal 
<input required type="text" data-validate="regex(^[0-9]+([\,\.][0-9]+)?$)" /> 
<input type="submit" /> 

Вот скрипка:

https://jsfiddle.net/ms4pg776/1/

+0

Почему бы не использовать встроенное [десятичное правило] (http://verifyjs.com/#included-rules) ?: https://jsfiddle.net/82Lsnytv/ –

+0

@JasonCust Поскольку пользователю разрешено определять регулярные выражения для форм. Мне нужно иметь метод, позволяющий использовать произвольное регулярное выражение. Однако для этого примера вы правы, десятичное правило будет работать! – dmcmulle

ответ

0

Я установил это, добавив правило переменного $ .verify.

$.verify.addRules({ 
    isIntegerOrDouble: { 
     regex: /^[0-9]+([\\.][0-9]+)?$/, 
     message: "Please enter an integer or a decimal number." 
    } 
}); 

Тогда в HTML:

<input required data-validate="isIntegerOrDouble" type="text"/> 

Надеется, что это помогает кто-то!

Смежные вопросы