新西兰电话表单验证



我正在构建一个表单系统,现在已经开始进行验证。 我的框架是 CI,所以对于我验证的主要部分,我'trim|required|htmlspecialchars'但我想知道的是:

A) 什么最适合用于网址和电话*输入

B) 你会建议我使用什么进行客户端验证 - 如果有的话?

*我来自新西兰,所以我们的电话号码是00 123 4567或1234567

CI的验证处理起来非常糟糕,特别是当你想使用很棒的jquery插件让生活变得简单时。

对于客户端,我使用由Jörn Zaefferer编写的jquery插件,它很容易掌握窍门并且非常可定制。

对于

url 等标准内容,有很多内置方法,对于新西兰电话号码,我创建了一些自定义规则,您可以将这些规则添加到插件附带的其他方法.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');

作为旁注,请谨慎使用这些号码,除非您打算在计算上拨打这些号码,否则只需将它们保留为具有长度限制的自由文本,人们想要输入电话号码的方式有很多变化,您最好不要通过执行不适合他们的规则来惹恼人们/他们的号码/添加字母/+符号/扩展名等

最新更新