Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从输入字段中获取值并提取ID_Javascript_Jquery - Fatal编程技术网

Javascript 从输入字段中获取值并提取ID

Javascript 从输入字段中获取值并提取ID,javascript,jquery,Javascript,Jquery,我目前正在通过javascript使用正则表达式提取YT视频ID。我有一个有效的例子。但不是使用var exaxmpleYoutubeURLs。有没有办法创建一个输入字段,将链接复制到该字段中,然后通过ajax显示11位的ID?这是我的 var youtubePattern=/https?:\/\/(?:[0-9A-Z-]+\)(?:youtu\.be\/\124; youtube\.com(?:/embed\/\/v\/\\\\/watch\?v=\\/ytscreeningroom\?v=\

我目前正在通过javascript使用正则表达式提取YT视频ID。我有一个有效的例子。但不是使用
var exaxmpleYoutubeURLs
。有没有办法创建一个输入字段,将链接复制到该字段中,然后通过ajax显示11位的
ID
?这是我的

var youtubePattern=/https?:\/\/(?:[0-9A-Z-]+\)(?:youtu\.be\/\124; youtube\.com(?:/embed\/\/v\/\\\\/watch\?v=\\/ytscreeningroom\?v=\\\\/feeds\/api\/视频\/\\\\\\\\\\/\\/user\S*[\w\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ S]/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
变量ExampleYouTubeUrls=[
"http://www.youtube.com/embed/NLqAF9hrVbY",
];
//提取YouTube ID
函数链接IfyYouTubeUrls(文本){
返回文本。替换(youtubePattern,$1');
}
对于(i=0;i”);
}
您想要这个吗

<textarea id="links"></textarea>
<input type="button" onclick="extractLinks()" value="Extract" />
<div id="outputDiv"></div>

<script>
    function extractLinks() {

        var youtubePattern = /https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[?=&+%\w-]*/ig;

        var exmpleYouTubeURLs = document.getElementById('links').value.split('\n');
        var output = document.getElementById('outputDiv');

        function linkifyYouTubeURLs(text) {
            return text.replace(youtubePattern, '$1');
        }

        output.innerHTML = '';
        for(i=0; i < exmpleYouTubeURLs.length; i++) {
             output.innerHTML += i + ". " + linkifyYouTubeURLs(exmpleYouTubeURLs[i]) + "<br >";
        }
    }
</script>

函数提取链接(){
var youtubePattern=/https?:\/\/(?:[0-9A-Z-]+\)?(?:youtu\.be\/\124; youtube\.com(?:/embed\/\/v\/\\/watch\?v=\\/ytscreeningroom\?v=\\\\\\/feeds\/api\/视频\/\\\\\/user\S*[^\w\-\S]\\\\\\\\\ S*[^\w\-\S]\\\\\\\\\\\\\\\ S])(\w\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
var exampleyoutubeurls=document.getElementById('links').value.split('\n');
var output=document.getElementById('outputDiv');
函数链接IfyYouTubeUrls(文本){
返回文本。替换(youtubePattern,$1');
}
output.innerHTML='';
对于(i=0;i”;
}
}

您的意思是,您希望从输入框中获取url数组,而不是手动创建url数组。我说得对吗?@user2008945是的,没错。对不起,如果我是个哑巴,为什么要使用ajax呢?@user2008945这样就不需要点击按钮了。我希望它是一个粘贴到输入框中,并立即显示IDOr。如果您不想点击按钮,可以尝试这样做:
onchange=“extractLinks()”
会更好,因为即使用户没有更改值,也会出现模糊
<textarea id="links"></textarea>
<input type="button" onclick="extractLinks()" value="Extract" />
<div id="outputDiv"></div>

<script>
    function extractLinks() {

        var youtubePattern = /https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[?=&+%\w-]*/ig;

        var exmpleYouTubeURLs = document.getElementById('links').value.split('\n');
        var output = document.getElementById('outputDiv');

        function linkifyYouTubeURLs(text) {
            return text.replace(youtubePattern, '$1');
        }

        output.innerHTML = '';
        for(i=0; i < exmpleYouTubeURLs.length; i++) {
             output.innerHTML += i + ". " + linkifyYouTubeURLs(exmpleYouTubeURLs[i]) + "<br >";
        }
    }
</script>