【发布时间】:2021-03-24 11:32:33
【问题描述】:
我需要获取除卡号的前 6 位和后 4 位之外的所有内容,没有特殊字符,这是一个字符串,可以如下:
4500 1234 5678 7654 要么 4500-1234-5678-7654
所以我需要得到:345678
到目前为止,我能够使用以下方法得出逆值:
^(\d[\- ]?){6}|[\- ]|(\d[\- ]?){4}$
注意:由于 Nodejs 中的业务特定用例,我使用 match() 而不是 replace()。
更新: 谢谢,到目前为止大家的帮助!如果可能,它实际上需要在一个功能中。此外,信用卡的长度从 13 位到 18 位不等,这使得依靠其长度或位置来获得中间值是有问题的。
【问题讨论】:
-
使用正则表达式删除除数字以外的所有内容,然后使用
substr() -
你不能用一个正则表达式来做到这一点。
标签: javascript node.js regex regex-negation