你们能推荐一个好的jQuery的美国和国际电话号码验证插件吗?我在谷歌上搜索了很多,但没有找到一个工作得很好。如果有现场验证(即:当用户在输入字段中键入电话号码时,它立即生效)
dwbf0jvd1#
我建议使用jQuery Validate,然后使用下面的代码扩展功能,这些代码是我在this blog post上找到的。它提供了一个很好的代码片段(在注解中会更好),可以用来输入国际号码和美国电话号码。我已经使用了additional methods插件,所以我将方法重命名为intlphone,然后将代码放到我的网页中,在jQuery之后,document.ready/ validation设置之前:
additional methods
intlphone
document.ready
jQuery.validator.addMethod('intlphone', function(value) { return (value.match(/^((\+)?[1-9]{1,2})?([-\s\.])?((\(\d{1,4}\))|\d{1,4})(([-\s\.])?[0-9]{1,12}){1,2}(\s*(ext|x)\s*\.?:?\s*([0-9]+))?$/)); }, 'Please enter a valid phone number');
在输入字段中,我想输入一个电话号码,我将类设置为intlphone,并添加了一个HTML5属性/特性以获得最小长度(尽管这也可以通过在设置验证时指定验证规则来实现),因此我的输入如下所示:
<input class="required intlphone" name="phone" minLength="7" type="text" />
正如博客文章所说,它接受数字以及-+(),也接受x:或ext:的空格和扩展名这并不能保证一个电话号码100%有效,但这是一个不错的开始。
-+()
x:
ext:
hfyxw5xn2#
关于电话号码,什么是唯一有效的?至少在国际上,没有电话号码的通用格式。你可以只写数字,使用一些括号,破折号,加号等。但真正重要的是数字。在大多数国家甚至没有一个共同的长度限制。所以没有,我还没有看到一个可用的电话号码验证器。
2条答案
按热度按时间dwbf0jvd1#
我建议使用jQuery Validate,然后使用下面的代码扩展功能,这些代码是我在this blog post上找到的。
它提供了一个很好的代码片段(在注解中会更好),可以用来输入国际号码和美国电话号码。我已经使用了
additional methods
插件,所以我将方法重命名为intlphone
,然后将代码放到我的网页中,在jQuery之后,document.ready
/ validation设置之前:在输入字段中,我想输入一个电话号码,我将类设置为
intlphone
,并添加了一个HTML5属性/特性以获得最小长度(尽管这也可以通过在设置验证时指定验证规则来实现),因此我的输入如下所示:正如博客文章所说,它接受数字以及
-+()
,也接受x:
或ext:
的空格和扩展名这并不能保证一个电话号码100%有效,但这是一个不错的开始。
hfyxw5xn2#
关于电话号码,什么是唯一有效的?至少在国际上,没有电话号码的通用格式。你可以只写数字,使用一些括号,破折号,加号等。但真正重要的是数字。在大多数国家甚至没有一个共同的长度限制。
所以没有,我还没有看到一个可用的电话号码验证器。