相关疑难解决方法(0)

如何在文本框中验证客户端的youtube网址

我必须创建一个文本框,只允许你管视频的网址.

要在服务器端处理验证,我使用下面的代码

$rx = '~
    ^(?:https?://)?              # Optional protocol
     (?:www\.)?                  # Optional subdomain
     (?:youtube\.com|youtu\.be)  # Mandatory domain name
     /watch\?v=([^&]+)           # URI with video id as capture group 1
     ~x';

$has_match = preg_match($rx, $url, $matches);
Run Code Online (Sandbox Code Playgroud)

我正在为客户端验证寻找相同的解决方案.我在<input type="url"> 这里找到了 ,但它似乎只适用于html5浏览器.

是否可以使用文本框进行客户端验证,以便与所有浏览器兼容?

谢谢

javascript regex youtube validation html5

24
推荐指数
3
解决办法
3万
查看次数

正则表达式Youtube URL

我正在使用此正则表达式来验证youtube网址.

^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$
Run Code Online (Sandbox Code Playgroud)

它很棒.

但我有一个问题.

如果用户输入http://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sports,则可以正常使用

现在我想避免这种情况

http://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sportshttp://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sportshttp://www.youtube.com/watch?v=zcKEjSYJVLs&feature=topvideos_sports
Run Code Online (Sandbox Code Playgroud)

多次粘贴相同的URL(在我们的例子中是三次).对于此正则表达式,它也是有效的YouTube地址.

我正在寻找一种解决方法.

regex youtube

4
推荐指数
1
解决办法
6656
查看次数

Flutter Dart:如何从视频 URL 中提取 youtube 视频 ID?

如何使用 dart regex 从视频 URL 中提取 YouTube 视频 ID?

示例网址

https://www.youtube.com/watch?v=SEkUienM2oY&t=1265s
Run Code Online (Sandbox Code Playgroud)

或者

https://m.youtube.com/watch?v=SEkUienM2oY&t=1265s
Run Code Online (Sandbox Code Playgroud)

返回

SEkUienM2oY&t=1265s
Run Code Online (Sandbox Code Playgroud)

它为我工作

  String getVideoID(String url) {
    url = url.replaceAll("https://www.youtube.com/watch?v=", "");
    url = url.replaceAll("https://m.youtube.com/watch?v=", "");
    return url;
  }
Run Code Online (Sandbox Code Playgroud)

但是如何用正则表达式做到这一点?

regex dart flutter

3
推荐指数
2
解决办法
3225
查看次数

标签 统计

regex ×3

youtube ×2

dart ×1

flutter ×1

html5 ×1

javascript ×1

validation ×1