用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5833|回复: 7
收起左侧

[版本 2.x] 表单验证类的regex_match方法如何使用

[复制链接]
发表于 2011-9-14 17:00:27 | 显示全部楼层 |阅读模式
本帖最后由 mzsongyan 于 2011-9-14 17:03 编辑

手册里没有关于这个方法的介绍,我这样使用
PHP复制代码
 
                  $this->form_validation->set_rules('phone','手机号','regex_match[/^13[\d]{9}$|14^[0-9]\d{8}|^15[0-9]\d{8}$|^18[0-9]\d{8}$/]');
 
复制代码

验证手机号,可是会出现错误
A PHP Error was encountered
Severity: Warning
Message: preg_match() [function.preg-match]: No ending delimiter '/' found
Filename: libraries/Form_validation.php
Line Number: 912
哪位大师知道为什么会出现警告错误....该如何使用?

发表于 2011-9-15 09:11:24 | 显示全部楼层
本帖最后由 jeongee 于 2011-9-15 09:11 编辑

在regex_match函数中,echo $regex的值看看

PS:最好不用使用未文档的函数,因为有可能被删除或者换名字啥的
发表于 2011-9-15 09:20:37 | 显示全部楼层
另外你的正则也有问题的吧

帮你改了个简洁的,试试吧:/^(1[3458])\d{9}$/

另:推荐你读读这个http://codeigniter.org.cn/forums/thread-10170-1-1.html
发表于 2011-9-15 10:30:17 | 显示全部楼层
自己自定义一个回调验证函数来做。
 楼主| 发表于 2011-9-15 10:32:20 | 显示全部楼层
jeongee 发表于 2011-9-15 09:20
另外你的正则也有问题的吧

帮你改了个简洁的,试试吧:/^(1[3458])\d{9}$/

感谢老大回复,那个正则是网上找的,我正则确实还不会,那PPT不错,感谢!
 楼主| 发表于 2011-9-15 10:46:43 | 显示全部楼层
jeongee 发表于 2011-9-15 09:11
在regex_match函数中,echo $regex的值看看

PS:最好不用使用未文档的函数,因为有可能被删除或者换名字啥 ...

我看表单验证类里有这个函数,而且我搜到CI官方论坛也有人提这样的问题,不过没看懂....
 楼主| 发表于 2011-9-15 10:49:39 | 显示全部楼层
baiyuxiong 发表于 2011-9-15 10:30
自己自定义一个回调验证函数来做。

现在已经这么做了,不过发现这个函数可以使用就想试试看,木有想到不会用....
 楼主| 发表于 2011-9-15 10:53:50 | 显示全部楼层
jeongee 发表于 2011-9-15 09:20
另外你的正则也有问题的吧

帮你改了个简洁的,试试吧:/^(1[3458])\d{9}$/

用了老大给的规则,测试成功,看来是我正则写的有错误,再次感谢!

本版积分规则