PHP判斷字符是否爲字母/數字檢測/password_hash密碼加密

PHP判斷字符是否爲字母

一直都是用正則表達式來判斷,我的不喜歡這種方式,想到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 加密


password_hash密碼加密

<?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;


JSON

function json($code, $message = '', $data = array()) {

    if(!is_numeric($code)) {
        return '';
    }

    $result = array(
        'code' => $code,
        'message' => $message,
        'data' => $data
    );

    echo json_encode($result);
    exit;
}
相關文章
相關標籤/搜索