在javascript和php中的正则表达式用法如何保持一致?

tmran 2008-10-06 12:39:40
偶对正则表达式的用法一直没有深入研究,最近要用到,所以在网上看了些资料。
在javascript中验证,看起来可用,
$b = "/^[a-zA-Z]+[a-zA-Z0-9]+[\.\-\_]?[a-zA-Z0-9]+$/";
//用户名验证:字母开头,字母和数字,中间允许一个小数点、横杆、下划线;
$c="/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/";
//Email验证。

但是在php中用ereg和eregi测试,结果和javascript不一样,是不是不能用这两个呢?

下面是我的代码:
javascript:

if(!b.test(getObj(Objname).value))
{
getObj(Objname+'_info').innerHTML="<font color=red>校验错误</font>"
return false;
}
else
{
getObj(Objname+'_info').innerHTML="<font color=black>校验正确</font>"
return true;
}

PHP:
if(!ereg($_POST["username"],$b) )
{
echo "username OK<br>";
}
else
{
echo "username Error<br>";
}

请大家帮我分析一下,谢谢
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序猿之殇 2008-10-06
  • 打赏
  • 举报
回复
看手册上实例看ereg不需要"/^[a-zA-Z]+[a-zA-Z0-9]+[\.\-\_]?[a-zA-Z0-9]+$/"前后的两个/.
preg_match和preg_match_all这两个函数需要.

所以可能区别在这里吧.你再尝试一下.
tmran 2008-10-06
  • 打赏
  • 举报
回复
搞定了,是有一个别的笔误,呵呵。
去掉“/”是可以的。
谢谢楼上TX的热心。分就给你吧
tmran 2008-10-06
  • 打赏
  • 举报
回复
试过,效果一样哦。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧