嗨,我目前正在实施以下正则表达式,以防止用户提交包含正则表达式中描述的亵渎内容的内容
(?i)(pecan|tie|shirt|hole|ontology|meme|pelagic|cock|duck|slot|anjing lo|Banting|Chiba|Screw|Screwing|fat|where|mother|peer|per|sock|socker|locker|ans|rect|anal|pickpocket|joker|muck)\b
我想改进正则表达式,以便它也过滤掉信用卡号(master、visa、jcb、amex 等)
我有每张卡的正则表达式,即:
^4[0-9]{12}(?:[0-9]{3})?$ (Visa)
^5[1-5][0-9]{14}$ (Master)
^3[47][0-9]{13}$ (Amex)
^3(?:0[0-5]|[68][0-9])[0-9]{11}$ (Diners)
^6(?:011|5[0-9]{2})[0-9]{12}$ (Discover)
^(?:2131|1800|35\d{3})\d{11}$ (JCB)
但是,当我将这些信用卡美国运通卡与这样的亵渎过滤器结合使用时
(?i)(pecan|tie|shirt|hole|ontology|meme|pelagic|cock|duck|slot|anjing lo|Banting|Chiba|Screw|Screw|fat|where|mother|peer|per|sock|socker| locker|ans|rect|anal|pickpocket|joker|muck)\b (?i)^4[0-9]{12}(?:[0-9]{3})?$\b (?i) ^5[1-5][0-9]{14}$\b 它将忽略脏话过滤器。
谁能指出我正确的方向?