<?php
$str = 'a_.';
echo preg_match("/^[a-zA-Z0-9\._]+$/",$str);
?>验证字符是很简单的,但往往需要验证顺序和个数。
比如这里 很多个点号也是合法的用户名。

解决方案 »

  1.   

    使用php代码,特别是正则太浪费,可以在客户端现用js来判断
      

  2.   

    比如说用户填写的页面是reg.php,如果用js只能在本页面,还要弹出对话框(现在似乎不流行,看像php168类的程序见不到js弹出的对话框,当然用js可减轻服务器端的负荷)。用完js后,还要转到另一页面rreg.php处理xss脚本攻击和防sql注入,之后是数据库相关操作。所以我想用户提交后直接进rreg.php处理,所以要用php的正则表达式,但这样做会加重服务器端的负荷,影响网页速度。
      

  3.   

    去查查手册preg_match的用法,比较灵活,能满足你的需求
      

  4.   

    注册的时候,服务器端还是要判断的
    用JS的话,有可能可以绕过js的检查的