php - 如何替换 eregi()

标签 php regex preg-match

我尝试环顾四周,认为我通过使用 preg_match 找到了答案,但是 preg match 给了我错误:

警告:preg_match():没有结束分隔符“^”

这是我的原始代码,php 说它已贬值:

if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email'])) { 
    $erroR= "Invalid Email address"; 
} 

有人可以解释一下结束分隔符“^”是什么,以及如何添加它。谢谢@

最佳答案

eregi()preg_match() 交换,并向正则表达式添加分隔符。我在这里选择了标准的 /,但您可以使用其他字符。

if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $_POST['email'])) { 
    $erroR= "Invalid Email address"; 
} 

您收到此警告的原因...

Warning: preg_match(): No ending delimiter '^'

...是因为 preg_match() 需要分隔符,并且它假设正在使用 ^,并且它无法匹配尾随分隔符。

关于php - 如何替换 eregi(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204704/

相关文章:

r - 添加\\以使用正则表达式转义字符串中的非 UTF 8 字符

PHP preg_match - 只允许字母数字字符串和 - _ 字符

php - 从数据库获取描述时模式不匹配

javascript - 刷新 OnKeyUp Search Filter 的结果

javascript - 从 AJAX 请求更改图像 src

php - 如何使用 PHP 创建 ZIP 文件并在用户下载后将其删除?

PHP难的preg_match

php - 如何在wordpress静态页面中添加自定义div

java - 带有可选国家/地区代码的手机号码的正则表达式

python正则表达式拆分字符串,同时保持分隔符与值