我创建了一个函数来获取输入值的长度,并为每个函数应用不同的替换(掩码),但此方法不起作用。一探究竟:
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);
}
函数有什么问题?
最佳答案
在正则表达式中,.
表示除换行外的所有字符。要使用.
,请使用\.
。