Hướng dẫn dùng email rege trong PHP

Khi cần kiểm tra email hợp lệ tức kiểm tra xem một chuỗi có phải đúng định dạng email không, bạn có thể dùng biểu thức chính quy RegEx để kiểm tra. Trong PHP có nhiều hàm có thể dùng biểu thức chính quy để kiểm tra dữ liệu, như Hàm preg_match

Nội dung chính

  • Kết luận
  • Ví dụ nhanh
  • Kết quả kiểm tra
  • Xác thực Email Đơn giản trong JavaScript sử dụng regex
  • Kết quả kiểm tra
  • Cách thực hiện xác thực email nghiêm ngặt trong JavaScript
  • Kết quả kiểm tra

Nội dung chính

  • Kết luận
  • Ví dụ nhanh
  • Kết quả kiểm tra
  • Xác thực Email Đơn giản trong JavaScript sử dụng regex
  • Kết quả kiểm tra
  • Cách thực hiện xác thực email nghiêm ngặt trong JavaScript
  • Kết quả kiểm tra

Trong ví dụ này ta sử dụng preg_match để kiểm tra một chuỗi có định dạng là địa chỉ email hay không. Xây dựng một hàm có tên là emailValid như sau:

<?php
// trả về true nếu đúng định dạng email
function emailValid($email)
{
    return (bool)preg_match ("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+\.[A-Za-z]{2,6}$/", $email);
}
?>

Hoặc code như sau:

<?php
// trả về true nếu đúng định dạng email
function emailValid($email)
{
    $regex = "/([a-z0-9_]+|[a-z0-9_]+\.[a-z0-9_]+)@(([a-z0-9]|[a-z0-9]+\.[a-z0-9]+)+\.([a-z]{2,4}))/i";
    if(!preg_match($regex, $email)) {
        return true;
    }
    else
    {
        return false;
    }
}
?>

Như đã giới thiệu ở trên, sau đây là cách chúng ta kiểm tra xem chuỗi người dùng đúng đinh dạng email không?
Bước 1
Xây dựng biểu thức chính quy của Email


Email chúng ta có đặc điểm sau:
- Chứa các ký tự từ A đến Z, a đến z
- Các ký tự số
- Ký tự gạch dưới
- Ký tự @
- Các ký tự trước @ có 6-32 ký tự
- Chuổi ký ký tự sau @ chia thành hai phần của domain mỗi phần có 2-12 ký tự


Ta có chuổi biểu thức chính quy theo yêu cầu trên
 

^[A-Za-z0-9_.]{6,32}@([a-zA-Z0-9]{2,12})(.[a-zA-Z]{2,12})+$


Bước 2
Kiểm tra bằng hàm preg_match()

<?php
$partten = "/^[A-Za-z0-9_.]{6,32}@([a-zA-Z0-9]{2,12})(.[a-zA-Z]{2,12})+$/";
$subject = "";
if(!preg_match($partten ,$subject, $matchs))
   echo  "Mail bạn vừa nhập không đúng định dạng ";

?>

Kết luận

Với chuổi chúng ta vừa phân tích là định dạng email phổ biến được phân tích và xây dựng lên từ biểu thức chính quy, bạn có thể sử dụng nó vào việc Validation FROM để chuẩn hóa dữ liệu trong dự án của mình.

Url Link

http://hocweb123.com/bai-7-kiem-tra-dia-chi-email-trong-php-bang-bieu-thuc-chinh-quy.html

Hướng dẫn này giúp tìm hiểu cách xác thực email bằng biểu thức chính quy (regex) trong JavaScript. Nó có nhiều ví dụ về cách xác thực email.

Những ví dụ đó khác nhau về các mẫu regex được sử dụng và trong việc xử lý email đầu vào.

Ví dụ nhanh dưới đây sử dụng mẫu regex với JavaScript cuộc thi đấu() chức năng xác thực email. Trước khi tìm thấy kết quả phù hợp, nó sẽ chuyển đổi email đầu vào thành chữ thường.

  • Ví dụ nhanh
    • Kết quả kiểm tra
  • Xác thực Email Đơn giản trong JavaScript sử dụng regex
    • Kết quả kiểm tra
  • Cách thực hiện xác thực email nghiêm ngặt trong JavaScript
    • Kết quả kiểm tra

Ví dụ nhanh

const validateEmail = (email) => {
	return String(email)
		.toLowerCase()
		.match(
			/^(([^<>()[\]\\.,;:\[email protected]"]+(\.[^<>()[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-z\-0-9]+\.)+[a-z]{2,}))$/
		);
};

Hướng dẫn dùng email rege trong PHP

Kết quả kiểm tra

Khi nhận được một định dạng email không hợp lệ, nó sẽ trả về null. Nếu không, nó trả về một mảng nội dung phù hợp với regex.

Input: TVT#example
Output: null.

Input: 
Output: ,TVT,TVT,,,example.co,,example.co,example.

Xác thực Email Đơn giản trong JavaScript sử dụng regex

Tập lệnh xác thực email đơn giản này thực hiện kiểm tra cơ bản với chuỗi email đầu vào.

Nó xác thực email đầu vào nếu nó có định dạng mong đợi bất kể độ dài và kiểu dữ liệu.

Tôi đã thêm ví dụ này chỉ để hiểu cách thực hiện xác thực dựa trên mẫu với regex trong JavaScript.

Tôi thích sử dụng ví dụ nhanh hơn và ví dụ xác thực nghiêm ngặt sau đây.

simple-validation.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Simple Email Validation using Regular
    Expression (regex)</title>
<link rel="stylesheet" href=" type="text/css" />
<link rel="stylesheet" href="form.css" type="text/css" />
</head>
<body>
    <div class="PHP-container">
        <h2>JavaScript Simple Email Validation using Regular
            Expression (regex)</h2>
        <div class="tile-container">
            <form name="form">
                <div class="row">
                    <label for="email">Email address: </label> <input
                        id="email" name="email" />
                </div>
                <div class="row">
                    <input type="submit" name="submit" value="Submit"
                        onclick="validateEmail(document.form.email)" />
                </div>
            </form>
        </div>
    </div>
    <script>
		function matchEmailRegex(emailStr) {
            var emailRegex = /\[email protected]\S+\.\S+/;
            return emailStr.match(emailRegex);
        };
        
        // validates in the form 
        // no more fancy validations
        function validateEmail(emailField) {
            var emailStr = emailField.value;
            if (matchEmailRegex(emailStr)) {
                alert("Entered value is a valid email.");
            } else {
                alert("Entered value is not an email.");
            }
            return false;
        }
	</script>
</body>
</html>

Kết quả kiểm tra

Input: TVT
Output: Entered value is not an email. 

Input: 
Output: Entered value is a valid email.

Cách thực hiện xác thực email nghiêm ngặt trong JavaScript

Ví dụ này sử dụng một mẫu regex gần như tương tự được sử dụng trong ví dụ nhanh. Tuy nhiên, nó xử lý giá trị trả về của khớp JavaScript để xuất ra thông báo xác thực.

Nó cung cấp một mã để đưa trực tiếp vào tập lệnh xác thực ứng dụng để xác thực đầu vào email biểu mẫu.

Cảnh báo () có thể được thay thế bằng bất kỳ hình thức nào để cho người dùng cuối biết về trạng thái xác thực.

nghiêm ngặt-validation.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JavaScript Validate Email using Regular Expression
    (regex)</title>
<link rel="stylesheet" href=" type="text/css" />
<link rel="stylesheet" href="form.css" type="text/css" />
</head>
<body>
    <div class="PHP-container">
        <h2>JavaScript Validate Email using Regular Expression
            (regex)</h2>
        <div class="tile-container">
            <form name="form">
                <div class="row">
                    <label for="email">Email address: </label> <input
                        id="email" name="email" />
                </div>
                <div class="row">
                    <input type="submit" name="submit" value="Submit"
                        onclick="validateEmail(document.form.email)" />
                </div>
            </form>
        </div>
    </div>
    <script>
		function matchEmailRegex(emailStr) {
			var emailRegex = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
			return emailStr.match(emailRegex);
		};

		function validateEmail(emailField) {
			var emailStr = emailField.value;
			if (matchEmailRegex(emailStr)) {
				alert("Entered value is a valid email.");
			} else {
				alert("Entered value is not an email.");
			}
			return false;
		}
	</script>
</body>
</html>

Kết quả kiểm tra

Không giống như ví dụ đơn giản, nó xác thực nghiêm ngặt tiền tố email bằng các ký tự đặc biệt được phép.

Nó cũng kiểm tra định dạng tên miền để xác thực email. Các kết quả sau đây cho thấy các trường hợp thử nghiệm và kết quả đầu ra tương ứng của xác thực email JavaScript.

Input: TVT
Output: Entered value is not an email. 

Input: 
Output: Entered value is not an email.

Input: 
Output: Entered value is a valid email.

Tải xuống

↑ Quay lại đầu trang