// 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_