2017-08-01 84 views
0

我有,我現在用的是下面這段代碼捕獲IP地址的節點JS應用:轉換req.connection.remoteAddress不包括:FFFF

var ip = req.headers['x-forwarded-for'] || 
    req.connection.remoteAddress || 

這裏,req.connection.remoteAddress追加:: FFFF :在實際IP之前。 有沒有一種標準的方法,只有在沒有:: ffff的情況下返回IP:除了剝離之前?是否有一些API或某些東西可以調用來執行轉換?

回答

0

您可以使用正則表達式來僅捕捉什麼是後::ffff:

var reg = /([^f:]+)/; 
 
var str = '::ffff:127.0.0.1'; 
 
    
 
alert(reg.exec(str)[0]);

+0

我的問題是,是否有任何其他標準的方法來轉換IPAddress或剝離/正則表達式唯一的方法來做到這一點? – user1892775

0

您可以使用ipaddr.js爲:

const ipaddr = require('ipaddr.js'); 

let mappedAddr = '::ffff:127.0.0.1'; 
let ipv4Addr = ipaddr.process(mappedAddr).toString(); // -> 127.0.0.1