クレジットカード番号としてテキストボックスの入力を検証する必要があります。2つの正規表現をロジックまたは?と組み合わせることはできますか?
- ビザ:
^4[0-9]{12}(?:[0-9]{3})?$
- マスター:
^([51|52|53|54|55]{2})([0-9]{14})$
- アメリカン・エキスプレス:
^3[47][0-9]{13}$
や他の多くの私はすでに別のクレジットカードのための正規表現を持っています。
問題は、さまざまなユーザーに基づいて異なる正規表現を使用して検証することです。例:user1の場合は、VisaとMastercardが利用可能ですが、user2の場合はVisaとAmerican Expressが利用可能です。
user1Regex = Visa regex + "||" + Mastercard regex
user2Regex = Visa regex + "||" + American Express regex
それを行う方法があります:だから私は次のように、上記の一つ以上の正規表現文字列を組み合わせて、動的に、最終的な正規表現の文字列を生成したいと思いますか?ありがとう、
1を動作するはずです:)'( 'と連携して動作します?FOO |バー)'論理的または文字列で|複数の文字文字 – n611x007
私はこれをテストし、 'Visaregex'をスライスする必要があります。さもなければ、スラッシュは文字通り組み合わせに含まれます。つまり、 'Visaregex ==/ab + c /'と 'Mastercardregex ==/de + f /'の場合、 'user1Regex'は' /(\/ab + c \ /)|(\/de + /(ab + c)|(de + f)/ 'ではなく、私たちが望んでいたものと同じです。 ($ {Visaregex.toString()。slice(1、-1)})|($ {Mastercardregex.toString()。slice(1、 - )あなたの答えを変更します: 1)})\ ');'。 – chharvey