TypeScript字符串替换为正则表达式,组和部分字符串
发布时间:2020-12-14 06:03:41 所属栏目:百科 来源:网络整理
导读:我想在输入时使用正则表达式来格式化输入中的数字. 我的问题是:由于我使用组来格式化数字,它只在字符串与正则表达式匹配时才格式化. 这是一个例子: 完整的号码是:12312312312 |格式化为:123.123.123-12. 例如,如果我输入1231231,它就不会像我期望的那样
我想在输入时使用正则表达式来格式化输入中的数字.
我的问题是:由于我使用组来格式化数字,它只在字符串与正则表达式匹配时才格式化. 这是一个例子: 完整的号码是:12312312312 |格式化为:123.123.123-12. 例如,如果我输入1231231,它就不会像我期望的那样格式化为123.123.1,只有当我键入整个数字时. 这是我的功能: format(value){ // This function returns the formatted string on user input return value.replace(/(d{3})(d{3})(d{3})(d+)/,"$1.$2.$3-$4"); } 有没有办法让其余的组选项? 解决方法
你可以用它来做
function formatStr(str){ str = str.replace(/(d{1,3})(d{0,2})/g,function(a,b,c,d,e){ let ret = ""; if(b != "") ret = b; if(c != "") ret = ret+"." + c; if(d != "") ret = ret+"." + d; if(e != "") ret = ret+"-" + e; return ret; }) console.log(str); } formatStr('12312312312'); formatStr('1231231'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |