我正在构建一个表单系统,现在已经开始进行验证。 我的框架是 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');
作为旁注,请谨慎使用这些号码,除非您打算在计算上拨打这些号码,否则只需将它们保留为具有长度限制的自由文本,人们想要输入电话号码的方式有很多变化,您最好不要通过执行不适合他们的规则来惹恼人们/他们的号码/添加字母/+符号/扩展名等