私は文字通り壁に頭をぶつけています。私はこの正規表現パターンを持っています
(?:youtu\.be\/|youtube.com\/(?:watch\?.*\bv=|embed\/|v\/)|ytimg\.com\/vi\/)(.+?)(?:[^-a-zA-Z0-9]|$)
YouTubeビデオのIDを抽出します。ここでやってみた
http://www.regular-expressions.info/javascriptexample.html
件名の文字列をhttp://youtube.com/watch?v=21312321とすると、うまくいきます。
ただし、私のサイトには、次の入力フィールドがあります
<input type="text" name="status" id="status" placeholder="Post a youtube video link">
そして次のjqueryコード
$('#status').keyup(function(event){
var value = $(this).val();
var pattern = "(?:youtu\.be\/|youtube.com\/(?:watch\?.*\bv=|embed\/|v\/)|ytimg\.com\/vi\/)(.+?)(?:[^-a-zA-Z0-9]|$)";
var re = new RegExp(pattern);
if (value.match(re)) {
console.log("Successful match");
} else {
console.log("No match");
}
});
上記と同じビデオを使用すると、結果は「一致しません」です。どうすればそれが可能になるのでしょうか。ここで何がうまくいかないのか教えてください。