作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Magento 项目,在客户仪表板中,有一个字段是我们在巴西的联邦 ID,称为“CPF”(最初来自 Magento,称为增值税),我插入了一个 IF 来检查如果客户位于其帐户页面并添加“已禁用”属性。只是为了更专业,我不想显示所有数字,而是想用“x”替换一些数字。 CPF 格式如下(这是一个假数字,只是为了说明):
168.828.835-05
我想通过用“x”替换中间的数字来仅显示前三位和后两位数字,因此:
168.xxx.xxx-05
我创建了一个函数来获取输入值的长度并为每个值应用不同的替换,但它不起作用。检查一下:
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);
}
函数出了什么问题?
最佳答案
我不明白为什么需要 jQuery 来操作字符串,你可以尝试这个功能:
function maskWithX (str) {
return str.replace(/\.\d{3}\.\d{3}-/, ".xxx.xxx-");
}
关于javascript - 如何用jQuery替换一些带有 "x"的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43012809/
我是一名优秀的程序员,十分优秀!