首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何替换eregi()

如何替换eregi()
EN

Stack Overflow用户
提问于 2012-02-09 10:43:30
回答 2查看 249关注 0票数 1

我试着环顾四周,以为我通过使用preg_match解决了这个问题,但preg match给出了错误:

警告: preg_match():没有结束分隔符'^‘

这是我的原始代码,php说它已经被贬低了:

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

谁能解释一下结尾的分隔符“^”是什么,以及如何添加它。谢谢@

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-09 10:44:37

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

代码语言:javascript
复制
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"; 
} 

你得到这个警告的原因..。

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

...is,因为preg_match()需要分隔符,并且它假定正在使用^,并且它不能匹配尾随的分隔符。

票数 2
EN

Stack Overflow用户

发布于 2012-02-09 10:45:58

在表达式前后添加一个正则表达式-- preg_replace需要一个分隔符来告诉它正则表达式的开始和结束位置。它可以是:

代码语言:javascript
复制
A delimiter can be any non-alphanumeric, non-backslash, non-whitespace character.
Often used delimiters are forward slashes (/), hash signs (#) and tildes (~).

所以这将会起作用:

代码语言:javascript
复制
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9204704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档