ThinkPHP第二十五天(自动完成、用户名密码PHP正则、移位或加密函数)
1、ThinkPHP自动完成功能
跟昨天的自动验证功能类似,也是需要在自定义的UserModel类,进行使用。
使用方法:定义$_auto属性
$_auto = array(
array(完成字段,完成规则,完成时间,附加条件),
......
);
完成字段:需要自动完成的字段,
完成规则:对字段进行自动完成的规则,一般需要配合附加条件使用,例如array('password','md5',3,'function')
完成时间:值为1新增数据时处理,值为2更新数据时处理,值为3所有情况都处理
附加条件:
A:function 使用函数,表示填充的内容是一个函数名
B:callback 回调方法 ,表示填充的内容是一个当前模型的方法
C:field 用其它字段填充,表示填充的内容是一个其他字段的值
D:string 字符串(默认方式)
E:ignore 为空则忽略(3.1.2新增)
2、常用PHP正则表达式
验证账号:/^[a-zA-Z]\w{6,19}$/s 以英文大小写字母开头6-19用常用英文字符
验证用户名:/^[\x80-\xff\w]{2,14}$/s 中文或英文字符2-14以内 \w代表[a-zA-Z_0-9]
3、移位或加密函数
//移位或加密函数 $str加密字符串 $type 1为加密 0为解密 function encryption($str,$type=1){ $key = md5('encryption'); //key处随意设置一字符串加密 if($type){ return str_replace('=','',base64_encode($str ^ $key)); } $str = base64_decode($str); return $str ^ $key; }