demo.in、demo.co.in、demo.tv、demo.org.in のような結果が得られます。JavaScript 分割関数を使用して、拡張機能を個別に分割する必要があります。
var vsp = i.split(".");
これは私のコードです。結果は demo,in demo,co,in として得られます
ただし、拡張機能を個別に取得する必要があります
demo.in、demo.co.in、demo.tv、demo.org.in のような結果が得られます。JavaScript 分割関数を使用して、拡張機能を個別に分割する必要があります。
var vsp = i.split(".");
これは私のコードです。結果は demo,in demo,co,in として得られます
ただし、拡張機能を個別に取得する必要があります
あなたが何を望んでいるのかわからないので、可能性のあるケースをカバーするいくつかの関数を次に示します。
var s = 'demo.co.in'
// Return everything before the first '.'
function getExtension(s) {
var m = s.match(/^[^.]+/);
return m? m[0] : '';
}
alert(getExtension(s)); // demo
// Return everything after the last '.'
function getExtension2(s) {
var m = s.match(/[^.]+$/);
return m? m[0] : '';
}
alert(getExtension2(s)); // in
// Return everything after the first '.'
function getExtension3(s) {
return s.replace(/^[^.]+\./, '');
}
alert(getExtension3(s)); // co.in
私は正確に理解できませんでした.. 「拡張子」 .. 以下のコードのように試すことができます
var urls = "demo,demo.in,my.demo.co.in,demo.tv,demo.org.in"
.split(',');
var splited = urls.reduce( function( o, n ){
var parts = n.split( '.' );
o[ n ] = (function(){
var ext = [];
while( !(parts.length == 1 || ext.length == 2) ) {
ext.unshift( parts.pop() );
};
return ext.join('.');
}());
return o;
}, {} );
console.log( JSON.stringify( splited ) );
印刷する
{
"demo":"",
"demo.in":"in",
"my.demo.co.in":"co.in",
"demo.tv":"tv",
"demo.org.in":"org.in"
}
を使用して結果を処理する
for( var i in splited ) {
console.log( i, splited[i]);
}
を使用することもできますlastIndexOf
。これは最後の位置を返し、.
そこから を使用して残りの文字列を取得できますsubstring
。
function getExtension(hostName) {
var extension = null;
if(hostName && hostName.length > 0 && hostName.indexOf(".") !== -1) {
extension = hostName.substring(hostName.lastIndexOf(".") + 1);
}
return extension;
}
そこから、この関数をループで使用して、多くのホスト名の拡張子を取得できます。
編集タイトルの「最後の2つの値」の部分に気づきました:)ありがとう@rab
それを行うにはいくつかの方法があります (おそらく、それほど簡単なものはありません)。次のような関数を定義できます。
function mySplit(str, delim) {
var idx = (str.indexOf(delim) == -1) ? str.indexOf(delim) : str.length;
return [str.substr(0,idx), str.substr(idx)];
}
そして、次のように呼び出します。var sp = mySplit(i, ".");
これを試して:
var vsp = i.split(".");
for(var i=0; i< vsp.length; i++){
if(i !== 0){ //leaving the first match
// do something with vsp[i]
}
}
あなたも考えていないことを願っていますwww
。:)。もしそうなら、i>1
代わりに保持してi !== 0
ください。