2015-05-12 4 views
0

я использую: «?»Javascript, чтобы получить ID видео YouTube (регулярное выражение выпуск)

<script type="text/javascript"> 
    document.addEventListener("DOMContentLoaded", function(event) { 
     var field1 = document.getElementById("field_wy4dm0"); 
     field1.addEventListener("change", combineFields); 

     function combineFields() { 
      var val1 = field1.value; 
      var val1re = val1.match("/(.*)?")[1]; 
      var str = document.getElementById("changeThisMovie").innerHTML; 
      var res = str.replace("yeC3AisTs2Y", val1re); 
      document.getElementById("changeThisMovie").innerHTML = res; 
     } 
    }); 
</script> 

Он отлично работает, чтобы получить видео ID на YouTube, который расположен между «/» и в var1 var и заменить старый идентификатор видео «yeC3AisTs2Y», который находится внутри div с id = «changeThisMovie» с новым («val1re»).

Проблема заключается в добавлении "?" в конце нового видео ид так вместо того, чтобы:?

/VideoID особенность = врезать ...

я получаю:

/VideoID ?? feature = embed ...

Как исправить это?

Спасибо !!!

+0

Я уверен, что у вас есть проблемы регулярных выражений (рассмотреть вопрос об изменении темы и теги ...), но если вы может опубликовать фактические значения, которые мы точно знаем – Amit

+0

Спасибо. какие «фактические значения» вы имеете в виду? – Ben

+0

Какие значения находятся в 'val1' (' field1.value') и 'str'? – Amit

ответ

0

Я думаю, вы хотите избежать? В вашем регулярном выражении подразумевается буквальный? Символ - регулярное выражение будет интерпретировать, как игнорировать предыдущий блок

Таким образом, вы можете попробовать следующее:

var val1re = val1.match("/(.*)\?")[1]; 
+0

Спасибо filype, но теперь это просто игнорирует "?" свойство ... (оно возвращает значение, которое появляется после «/», но не останавливается после «?») – Ben

Смежные вопросы