正则求解

[0-9a-zA-Z]这个正则表达式什么作用?是匹配数字或字母?那么如果我要限制一个字符串的内容只能是数字或字母,该怎么写?
回复列表(44|隐藏机器人聊天)
  • @Ta / 2013-08-19 / /
    表示任一个数字,大,小写字母
    加上匹配次数就可以达到你的要求了。
  • @Ta / 2013-08-19 / /
  • @Ta / 2013-08-19 / /
    @月初,我的要求是如果字符串里出现其它字符就返回false
  • @Ta / 2013-08-19 / /
    @月初,/[0-9a-zA-Z]{2,12}/Ui这样?
  • @Ta / 2013-08-19 / /
    /[0-9a-zA-Z]{2,12}/Ui
    表示由任意数字,大,小写字母组成的长度在2-12之间的字符串。
    你觉得和你的要求符合,那它就是这样的。
  • @Ta / 2013-08-19 / /
    个人认为你如果只是单纯的验证一个字符串是否符合你的要求。就没必要加全局修饰符。
  • @Ta / 2013-08-19 / /
    @月初,限制字符串的内容和判断字符串中是否含有目标字符是两码事,我想问这两种各应该怎么写
  • @Ta / 2013-08-19 / /
     /[0-9a-zA-Z]{2,12}/
    字符串只能含有数字,英文字母。
    且长度为2-12。
    它只能匹配'jdmw26'

     /[0-9a-zA-Z]{2,12}/Ui,

    在某字符串的一部分必须包含由数字,英文字母。且长度为2-12。
    它可以匹配'jdmw26'
    也可以匹配'字符jdmw26'
  • @Ta / 2013-08-19 / /
  • @Ta / 2013-08-19 / /
    额,忘了写了.应该是这样。/^[0-9a-zA-Z]{2,12}$/
    字符串只能含有数字,英文字母。且长度为2-12。
    它只能匹配'jdmw26' 

    /[0-9a-zA-Z]{2,12}/Ui,
    在某字符串的一部分必须包含由数字,英文字母。且长度为2-12。它可以配'jdmw26'也可以匹配'字符jdmw26'
  • @Ta / 2013-08-19 / /
  • 2
    @Ta / 2013-08-19 / /
    @戒撸,我给你所需要的,比如注册时用户名只能为英文。
    if(!preg_match('/[a-zA-Z]{4,16}/',$_POST['user'])){
    echo '用户名必须为长度4-16的英文!';
    }
  • @Ta / 2013-08-19 / /
    12楼的答案,会让'world世界'这样的字符串仍能注册成功。看10楼
    @齐子 @戒撸
  • 2
    @Ta / 2013-08-19 / /
    @月初,呵呵,你说笑了
  • @Ta / 2013-08-19 / /
    @齐子 我想是的,如果你忘了加定界符的话。
  • 2
    @Ta / 2013-08-19 / /
    @月初,动手试试吧。。。亲!
  • @Ta / 2013-08-19 / /
    弱弱的说下,事实上,我已经试过了。事实貌似说了和你相反的答案…
    @齐子
  • 2
    @Ta / 2013-08-19 / /
    @月初,你的源码我看看
  • @Ta / 2013-08-19 / /
    @齐子,我本来就是那样的,不过用户名中加上问号竟然注册成功了
添加新回复
回复需要登录