Livevalidation设置youtube url验证器

时间:2011-03-08 23:26:11

标签: javascript jquery forms youtube validation

我正在使用livevalidation验证表单输入字段,在该字段中要求输入YouTube视频网址,我正在尝试创建网址规则,以便在用户输入时验证 http://www.youtube.com/watch?v=11chars。我试图在上面的链接中组合partialmatch选项,如下所示:

var link = new LiveValidation('link');
link.add( Validate.Inclusion, { within: [ 'http://' , 'www', 'youtube.com/watch?v=' ], partialMatch: true } )

并将其与此长度示例结合使用:

var link = new LiveValidation('link');
link.add( Validate.Length, { minimum: 50, maximum: 50 } );

但显然这看起来很笨拙,我认为如果它运作正常会非常有效。

是否有可能结合上述链接中的一些示例来正确验证youtube网址?谢谢您的帮助!

3 个答案:

答案 0 :(得分:0)

Validate.Format与正则表达式一起使用:

 link.add(Validate.Format, { pattern: /^http\:\/\/www\.youtube\.com\/watch\?v=[a-z0-9]{11}$/i });

编辑:要使用其他查询参数验证链接,您可以使用以下内容:

/^http\:\/\/www\.youtube\.com\/watch\?v=[a-z0-9]{11}(&.*)?$/i

答案 1 :(得分:0)

link.add(Validate.Format, { pattern: /^http\:\/\/www\.youtube\.com\/watch\?v=[a-zA-Z0-9---_]{11}$/ }); 
这是有效的!我不知道我可以用正则表达式来做这件事所以我稍微调整了@ gilly3代码

答案 2 :(得分:0)

这是一个可以验证JavaScript和JavaScript的正则表达式。 PHP,它适用于三种URL:经典(?v =),AJAXed(#!v =)和短版本(youtu.be)。它还支持国际网址。

/http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi

在Snipplr上找到的代码段:)