summaryrefslogtreecommitdiffstats
path: root/components/autofill/browser/validation.h
blob: 352a639a23ab833f9f6635dd3ea400816d05466b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_AUTOFILL_BROWSER_VALIDATION_H_
#define COMPONENTS_AUTOFILL_BROWSER_VALIDATION_H_

#include "base/string16.h"

namespace base {
class Time;
}  // namespace base;

namespace autofill {

// Returns true if |year| and |month| describe a date later than |now|.
// |year| must have 4 digits.
bool IsValidCreditCardExpirationDate(const string16& year,
                                     const string16& month,
                                     const base::Time& now);

// Returns true if |text| looks like a valid credit card number.
// Uses the Luhn formula to validate the number.
bool IsValidCreditCardNumber(const string16& text);

// Returns true if |text| looks like a valid credit card security code.
bool IsValidCreditCardSecurityCode(const string16& text);

// Returns true if |code| looks like a valid credit card security code
// for the type of credit card designated by |number|.
bool IsValidCreditCardSecurityCode(const string16& code,
                                   const string16& number);

// Returns true if |text| looks like a valid e-mail address.
bool IsValidEmailAddress(const string16& text);

// Returns true if |text| looks like a valid zip code.
// Valid for US zip codes only.
bool IsValidZip(const string16& text);

}  // namespace autofill

#endif  // COMPONENTS_AUTOFILL_BROWSER_VALIDATION_H_