2015-12-25 67 views
-3

我想通過JavaScript複製可變圖案到其它變量,從而在同一時間Javascript來複制已掩蔽

例如 處理掩蔽和業務rqmnt可變圖案若a = 89734以及b = 98780 那麼b也應該像 - 98,780

注 - ','只是一個示例掩碼也可以用小數點''。 或大寫/小寫字符串的情況下。

任何人都可以請幫我在此感謝

+2

更多細節將是有益的 –

回答

0

嘗試:

pattern 
| given 
| | result 
| | | 
9 + 9 -> keep 
* + 9 -> insert * 
a + a -> keep 
a + A -> a (lower) 
A + a -> A (upper) 

function build(a, b) { 
 
    function isN(s) { return (typeof s !== 'undefined') && ~s.search(/\d/); } 
 
    function isL(s) { return s === s.toLowerCase(); } 
 

 
    var i, l; 
 
    for (i = 0, l = a.length; i < l; i++) { 
 
     if (!isN(a[i]) && isN(b[i])) { 
 
      b = b.slice(0, i) + a[i] + b.slice(i); 
 
      continue; 
 
     } 
 
     if (a[i].toLowerCase() !== a[i].toUpperCase()) { 
 
      if (isL(a[i]) && !isL(b[i]) || !isL(a[i]) && isL(b[i])) { 
 
       b = b.slice(0, i) + b[i][isL(a[i]) ? 'toLowerCase' : 'toUpperCase']() + b.slice(i + 1); 
 
       continue; 
 
      } 
 
     } 
 
    } 
 
    return b; 
 
} 
 

 
function go(a, b) { 
 
    document.write('<pre>pattern: ' + a + '\ngiven: ' + b + '\nresult: ' + build(a, b) + '</pre>'); 
 
} 
 

 
go('89,734', '98780'); 
 
go('aBcDeF', 'zyxwvu'); 
 
go('aBcDeF', 'GHIJKL'); 
 
go('12*456', 'abcdef'); 
 
go('12*456', '98765'); 
 
go('124.000,56 Euro', '25287674 euro');