2012-04-12 4 views
0

Я создаю систему форм, и теперь я начал работать над проверкой. Моя база CI так и для основной части моей проверки у меня есть 'trim|required|htmlspecialchars', но то, что я хотел бы знать:Новая Зеландия Проверка формы телефона

A) Что было бы лучше использовать для URL и телефона * входы

B) Что бы вы рекомендую ли я использовать для проверки на стороне клиента - если таковой вообще существует?

* Я из Новой Зеландии, поэтому наши номера телефонов 00 123 4567 или 1234567

+0

Посмотрите @ php filters: http: //www.php. net/manual/en/filter.filters.php –

ответ

1

CI's validation серьезно хреново иметь дело, особенно если вы хотите использовать удивительный Jquery pluggins, которые делают жизнь простой.

Для клиентов, я использую jquery plugin, написанный Jörn Zaefferer, довольно легко получить навес и очень настраиваемый.

Существует множество встроенных методов для стандартных вещей, таких как URL-адреса, для номеров телефонов NZ. Я создал некоторые настраиваемые правила, которые вы можете добавить в файл дополнительных методов.js, который поставляется с плагином.

/** 
* matches NZ phone number formats 
* 
* +64 7 123 1234 
* or 
* 07-123-1234 
* or 
* 071231234 
* 
* spaces/hyphens optional 
* 
*/ 
jQuery.validator.addMethod('phoneNZ', function(phone_number, element) { 
return this.optional(element) || phone_number.length > 9 && 
phone_number.match(/^(0|(\+64(\s|-)?)){1}\d{1}(\s|-)?\d{3}(\s|-)?\d{4}$/, 'Please specify a valid phone number'); 


/** 
* matches NZ mobile number formats 
* 
* 021 123 1234 
* or 
* 027 123 1234 
* or 
* 022-123-1234 
* or 
* +64 21 123 1234 
* 
* spaces/hyphens optional 
* 
*/ 
jQuery.validator.addMethod('mobileNZ', function(phone_number, element) { 
return this.optional(element) || phone_number.length > 9 && 
phone_number.match(/^(0|(\+64(\s|-)?)){1}(21|22|27){1}(\s|-)?\d{3}(\s|-)?\d{4}$/); 
}, 'Please specify a valid mobile number'); 

Как примечание стороны, использовать этот экономен, если вы не планируете на набор этих чисел в вычислительном просто оставить их как свободный текст с ограничением по длине, есть много вариантов, как люди хотят, чтобы ввести номера телефонов и вам лучше не обманывать людей, применяя правило, которое им не подходит/их число/добавление букв/символов + расширений и т. д.

+0

Выглядит хорошо, да, CI Validation - это дерьмо, просто не знаете, как напасть на него позор, что у них нет проверки uri и телефона haha ​​ –

+0

Да, добро пожаловать на open source. Однако есть веская причина, потому что это не так, потому что им трудно решать проблемы во всех случаях, таких как каркас. В принципе, если они не могут завершить решение, они не будут, и не должны пытаться. Фильтр XSS является хорошим примером того, почему они не должны. – Louis

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