一直都是用正則表達式來判斷,我的不喜歡這種方式,想到ASCII碼能夠來區別。php
找到php有個ord()函數:W3C文檔:http://www.w3school.com.cn/php/func_string_ord.asp git
ord() 函數返回字符串的首個字符的 ASCII 值。正則表達式
大小寫字母的ASCII碼在json
65-90,97-122
之間。函數
<?php $str="http://my.oschina.net/rain21/admin/new-blog"; $arr=str_split($str); /*65-90,97-122*/ foreach($arr as $k=>$v){ $check=ord($v); if(($check>=65&&$check<=90)||($check>=97&&$check<=122)){ $newArr[]=empty(rand(0,1))?strtoupper($v):$v; }else{ $newArr[]=$v; } } echo implode('',$newArr);
is_numeric:檢測是否爲數字字符串,可爲負數和小數
ctype_digit:檢測字符串中的字符是否都是數字,負數和小數會檢測不經過
注意,參數必定要是字符串,若是不是字符串,則會返回0/FASLE 加密
<?php $startTime = microtime(true); $options = array('cost' => 12); $password=password_hash("wsy1995", PASSWORD_BCRYPT,$options); var_dump(password_verify('wsy1995',$password)); echo $password; $endTime = microtime(true); echo '共耗時:'.($endTime-$startTime); echo '運行後內存:'.memory_get_usage()/1024/1024;
function json($code, $message = '', $data = array()) { if(!is_numeric($code)) { return ''; } $result = array( 'code' => $code, 'message' => $message, 'data' => $data ); echo json_encode($result); exit; }