


How to verify the check code of the ID card number using PHP regular expression
The ID number is an important document that people often use in daily life, and the verification of the last check code in the ID number is an important part of whether the ID number is legal. When using PHP programming, we can use regular expressions to verify the check code in the ID number to ensure the validity of the ID number. The following will introduce the method of verifying the check code of the ID card number using PHP regular expressions.
- Format of ID number
First of all, we need to understand the format of ID number. The ID card number consists of 18 digits and letters, of which the first 17 digits represent province, city, county, date of birth and other information, and the last digit is a check code. The calculation rules of the check code are as follows:
- Multiply the first 17 digits of the ID number by the corresponding weight factor in sequence, that is, the weight factor of the i-th digit is Wi.
- Add these 17 products to get S.
- The check code N is the remainder of 11 minus S divided by 11, where X represents 10.
- Writing of regular expressions
With the above basic knowledge, we can write regular expressions to verify ID numbers. The following is a sample code:
function checkIDCard($id_card){ $pattern = '/^d{6}(19|20)d{2}(0d|1[0-2])([0-2]d|3[0-1])d{3}[0-9X]$/'; if(preg_match($pattern, $id_card)){ $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); $ai = str_split(substr($id_card, 0, 17)); $n = 0; for($i=0; $i<17; $i++){ $n += $wi[$i] * $ai[$i]; } $c = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); $check_code = $c[$n % 11]; return $check_code == substr($id_card, -1); } return false; } $id_card = '33010219950917413X'; if(checkIDCard($id_card)){ echo '身份证号码校验成功'; }else{ echo '身份证号码校验失败'; }
In the above regular expression, d means matching numbers, {6} means matching 6 times, (19|20)d{2} means matching numbers starting with 19 or 20 4 digits, (0d|1[0-2]) means matching the month from 01 to 12, ([0-2]d|3[0-1]) means matching the date from 01 to 31, d{3} means Match three more numbers, [0-9X]$ means it ends with a number or X. In this way, the ID number can be effectively matched.
- Testing and Verification
Finally, we can test whether our code works. We can change the verification code of the ID card number to check whether the verification function of the code is normal. For example:
$id_card = '330102199509174133';
or:
$id_card = '330102199509174139';
The check codes of these two ID numbers are wrong and should not pass the verification. And when we run the code, we will see that the ID number verification failure result is output, proving that our code can work normally.
In short, the method of using PHP regular expression to verify the check code of the ID number is relatively simple. You only need to write an appropriate regular expression and related functions to easily complete the verification of the ID number. Verification work.
The above is the detailed content of How to verify the check code of the ID card number using PHP regular expression. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
