2013-04-12 151 views
-1

我必須將字母轉換爲相應的數字,例如我有一個像「DRSG004556722000TU77」這樣的數據,並且A的索引是10,B是11,C是12等等,Z最多爲35.將字母轉換爲相應數字

任何幫助提示?

這裏是回到我的ASCII碼的JavaScript,但我想上述indecies對各字母

var string = DRSG004556722000TU77; 
    function getColumnName(string) { 
    return ((string.length - 1) * 26) + (string.charCodeAt(string.length - 1) - 64); 
    } 
    document.write(getColumnName(string)); 
+0

@Do wnvoter,你能解釋一下嗎? –

回答

0

這可能有助於

var output = [], code, str = 'DRSG004556722000TU77',i; 
for(i in str){ 
code = str.charCodeAt(i); 
if(code <= 90 && code >= 65){ 
// Add conditions " && code <= 122 && code >= 97" to catch lower case letters 
    output.push([i,code]); 
} 
} 

現在輸出中包含了所有的字母代碼及其對應的索引

+0

複製/粘貼此代碼,然後在「螢火蟲控制檯中的console.log(輸出)」測試':)' – Stphane

0
var string = 'DRSG004556722000TU77'; 

function getColumnName(string) { 
    var recode = new Array(), i, n = string.length; 
    for(i = 0; i < n; i++) { 
     recode.push(filter(string.charCodeAt(i))); 
    } 
    return recode; 
} 

function filter(symbol) { 
    if ((symbol >= 65) && (symbol <= 90)) { 
     return symbol - 55; 
    } else if ((symbol >= 48) && (symbol <= 57)) { 
     return symbol - 48; 
    } 
} 

document.write(getColumnName(string)); 
+0

是的,它工作thanx很多 –

+0

輸出每個數字後給我逗號如何刪除他們我需要的結果沒有英文數字中的逗號或倒數。事實上,我是新來jquery –

+0

@ kashif waheed你可以使用:'recode = recode + filter(string.charCodeAt(i));''而不是:''recode.push(filter(string.charCodeAt(i)));'也改變:'var recode = new Array()'到:var recode =「」' – rook

相關問題