適切な正規表現または正規表現のセットが出てきても問題はありません。私が何をしたいか可能なクレジットカード番号を検出するためのJavascriptの正規表現
が検出され:
- はcontineous実行を検出19
- て長さ13の空白が点在桁のcontineous実行を検出19
- て長さ13の数字のcontineous実行を検出します長さ13〜19のダッシュが散在している数字
基本的なビジネス要件は、ユーザーにクレジットカード番号iを入力した可能性があることを警告することですテキストフィールドであり、それらはしないでください(ただし、警告のみで、ハードエラーではありません)。テキストフィールドは複数の行にまたがる可能性があり、最大8kの長さ、CC#はどこにでも埋め込むことができます(複数の行に分割しない可能性があります)。私が必要とするすべて。私は実際の価値は必要ありません)。チェックデジットを検証する必要はありません。
長さのチェックは外部で行うことができます。つまり、一致のセットをループして空白/ダッシュをドロップしてから長さの比較を行います。
しかし... JavaScriptの正規表現は(だけではない右の「ヘッドスペース」で)私のあらゆる試みを破っているので、私はここにお願いしたい:)
感謝を考えました!
これは本当に奇妙な要件です。だから、私が正しく理解していれば、フォームフィールドを持つWebページがあります。これらのフィールドはどれもクレジットカードのフィールドではありませんが、何らかの理由でクレジットカード番号が入力されていないことを確認したい場合は...これはユーザーがあなたのUI何らかの支払い情報を入力する必要があると考えていましたか? – NotMe
@chirs lively:ちょっと右::)これはワークフローのシナリオであり、誰かが顧客のcc#を含むメモを追加することに決めました(私に間違って聞こえることはありませんが、どうしたらいいのでしょうか?)。だから...ポップアップ警告あなたは "それをやってはいけない"という人たちには完全に不合理な必要性のようには思わない。 – user53794