我正在使用带preg_match功能的php验证电子邮件地址.但我不断收到以下错误
preg_match(): No ending delimiter '^' found
Run Code Online (Sandbox Code Playgroud)
这是我的preg_match模式
$pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
Sho*_*hoe 18
只需使用:
$pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i";
Run Code Online (Sandbox Code Playgroud)
也许用
filter_var($email, FILTER_VALIDATE_EMAIL);
Run Code Online (Sandbox Code Playgroud)
将是一个更容易的方法.
使用此代码
<?php
$email = "asd/sdff@asdf.com";
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
$email = (preg_match($regex, $email))?$email:"invalid email";
?>
Run Code Online (Sandbox Code Playgroud)