javascript - 带连字符的 YouTube 网址测试器

标签 javascript regex youtube

这就是我通常使用 javascript 检查 youtube url 有效性的方式。它工作得很好,但对于视频 ID 前面带有“-”的网址失败,例如 http://www.youtube.com/watch?v=-pIaQpwYEjY

任何可用的补救措施,因为我不熟悉正则表达式

var matches = $('#as_url').val().match(/^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$/);
if (matches) {
} else {
    error +="\nInvalid Youtube Url";
}

最佳答案

\w+ 更改为 [\w-]+,因为 \w 字符类仅匹配 [A-Za -z0-9_]

Regular-Expressions.info 对 what character classes are 有很好的解释,以及lookahead feature正则表达式,您的正则表达式都使用它们。

关于javascript - 带连字符的 YouTube 网址测试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010862/

相关文章:

JavaScript 提交按钮从 Spring MVC 返回对象响应

javascript - CSS 背景色有效性

javascript - 不是以正则表达式结尾的特定单词

regex - 正则表达式可以处理嵌套操作吗?

youtube - Youtube Player API-选择了“仅播放浏览器”标签

javascript - 使用 jQuery 在同一页面中仅允许一个 YouTube 视频

javascript - 尝试呈现表行元素数组时的不变冲突

javascript - 如何拦截所有 jquery ajax 事件?

c# - 是否可以使用 String.Split 或正则表达式将字符串拆分为字符串数组并删除不在分隔符之间的部分?

xml - 从 Blogger 导入后,YouTube 嵌入在 WordPress 中不起作用