为了账号安全,请及时绑定邮箱和手机立即绑定

javascript中的正则表达式,格式非常特殊

javascript中的正则表达式,格式非常特殊

FFIVE 2021-04-12 16:13:39
我输入的内容必须格式化用户键入的内容(实际上是来自他的银行帐户的信息)。但是数字必须以某种方式格式化:前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
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信