2012-02-15 105 views

回答

2
var result = "061801850010300-09/A/B" 
.replace(/\//g, '-') 
.replace(/[A-Z]/ig, function(c){ 
    return c.toUpperCase().charCodeAt(0)-64; 
}); 
+0

它將第一次出現「/ A」的正確值返回爲「-1」,但後來發生的事件被錯過。 – 2012-02-15 08:18:48

+0

現在工作thx會再測試幾次。那麼我會標記它是正確的。 – 2012-02-15 08:23:46

+0

順便說一句,它編輯後它工作。 – 2012-02-15 08:24:32

0

可以匹配要替換的一切,並作出表達正確的事情來替代它:

input = input.replace(/([\/A-Z])/g, function(m) { 
    return m == "/" ? "-" : m.charCodeAt(0) - 64 
}); 

演示:http://jsfiddle.net/Guffa/g2sgb/

+0

這看起來並不像JavaScript。 – 2012-02-15 08:16:43

+0

-1 OP需要Javscript。 __NOT__ C#。 – 2012-02-15 08:17:06

+0

@MathiasBynens:我錯過了。我重寫了它的Javascript。 – Guffa 2012-02-15 08:25:21