blob: ffc1c27fe68a9b953f60214332bc79e52c4f1ee5 [file] [log] [blame]
// Copyright 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_CORE_BROWSER_VALIDATION_H_
#define COMPONENTS_AUTOFILL_CORE_BROWSER_VALIDATION_H_
#include "base/strings/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 base::string16& year,
const base::string16& month,
const base::Time& now);
bool IsValidCreditCardExpirationDate(int year,
int 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 base::string16& text);
// Returns true if |text| looks like a valid credit card security code.
bool IsValidCreditCardSecurityCode(const base::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 base::string16& code,
const base::string16& number);
// Returns true if |text| looks like a valid e-mail address.
bool IsValidEmailAddress(const base::string16& text);
// Returns true if |text| is a valid US state name or abbreviation. It is
// case insensitive. Valid for US states only.
bool IsValidState(const base::string16& text);
// Returns true if |text| looks like a valid zip code.
// Valid for US zip codes only.
bool IsValidZip(const base::string16& text);
// Returns true if |text| looks like an SSN, with or without separators.
bool IsSSN(const base::string16& text);
} // namespace autofill
#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_VALIDATION_H_