我输入的内容必须格式化用户键入的内容(实际上是来自他的银行帐户的信息)。但是数字必须以某种方式格式化:前5位数字必须是数字。如果用户键入的数字超过5个,则最后一个数字前必须带有“-”5位数字后,用户可以输入“ x”或“ X”该数字的最小值为5位数,最大值为15例子:1234512345-1123456-11234567-112345-x123456789-x123456789-X12345678901234-5实际上,我正在使用可替换字符串的规范化器。这是我正在使用的,但我无法正确格式化。export const normalizeBankAccount = value => { if (!value) { return value } if(value.length <= 16 && (!value.match(/[^\d|X]/g) || !value.match(/[^\d|-]/g) || !value.match(/[^\d|x]/g))) { if(value.length <= 5){ return value.replace(/[^\d]/g, '') } else if(value.length >= 6) { const len = value.length; const aux=value; const initial = value.substring(0,value.length-1).replace('-', ''); console.log("len: " +len, "\naux: " +aux,"\ninitial: "+ initial) return value.replace(new RegExp("\\d{"+ len +"}") , initial+ '-').replace(/[X]/g, '-X').replace(/[x]/g, '-x') } }}当我使用此方法时,字符串的格式如下:12345-6789123
添加回答
举报
0/150
提交
取消