2017-11-11 12 views
1

私はvarのマッチが空であることを確認しようとしていますが、私は運がないです。どんな助けでも大歓迎です。javascript - 配列がnullかどうかを確認しますか?

var url = document.getElementById("defineNewURL").value; 
var urlReg; 


var subject = url.toString(); 
var regex = /^((http[s]?|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$/ 
match = regex.exec(subject); 

if(typeof match == 'undefined'){ 
    urlReg = url; 
}else{ 
    urlReg = match[6]; 
} 
+0

配列を追加してください。 –

答えて

1

//.exec戻りnull一致がある場合に一致する、 オブジェクトが存在しません。すべてのオブジェクト以来 はtruthyあり、そしてnullfalsy、 であるあなたは、このような条件を記述することができます。

if (match) { 
    urlReg = match[6]; 
} else { 
    urlReg = url; 
} 
1

regex.exec未定義が、nullを返しません。そして、あなたのコード内:

typeof match 

リターンobject

のルック:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec

そして、このようなあなたのコードを作成してみてください。

var url = document.getElementById("defineNewURL").value; 
var urlReg; 


var subject = url.toString(); 
var regex = /^((http[s]?|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$/ 
match = regex.exec(subject); 

if(match == null){ 
    urlReg = url; 
}else{ 
    urlReg = match[6]; 
} 
関連する問題