用于复制已屏蔽的变量模式的Javascript

Javascript to copy the variable pattern which has been masked

本文关键字:变量 Javascript 模式 屏蔽 复制 用于      更新时间:2023-09-26

我想通过javascript将变量模式复制到其他变量,以便同时处理掩蔽和业务rqmnt

例如如果a=89734且b=98780那么b也应该像-98780

注意-","只是一个示例,掩码也可以使用十进制-"。"字符串的情况下为大写/小写。

有人能帮我吗感谢

尝试:

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');