我创建了一个函数来获取输入值的长度,并为每个函数应用不同的替换(掩码),但此方法不起作用。一探究竟:

function mask_vat(inputID) {
    var mystr = document.getElementById(inputID).value;
    var str_length = mystr.length;
    var pattern, replacement;
        switch(str_length) {
            case 14:
                pattern = '/^(\d{3}).\d{3}.\d{3}-(\d{2})$/';
                replacement = '$1.XXX.XXX-$2';
                break;
            case 18:
                pattern = '/.\d{3}.\d{3}\//';
                replacement = '.xxx.xxx/';
                break;
        }
    mystr.replace(pattern, replacement);
}


函数有什么问题?

最佳答案

在正则表达式中,.表示除换行外的所有字符。要使用.,请使用\.

10-05 22:33