這個方法是很常用的,比如在驗證輸入日期是否存在時,可以使用它,如果是一個不存在的日期,則其返回值將是NaN,另外如果要比較兩個日期的先後,或是計算兩個日期相差的天數,都可以用到。
Date.parse(dateVal) 這個方法是很常用的,比如在驗證輸入日期是否存在時,可以使用它,如果是一個不存在的日期,則其返回值將是NaN,另外如果要比較兩個日期的先後,或是計算兩個日期相差的天數,都可以用到。 今天在使用它比較日期先後的時候遇到了一個奇怪的問題,是關於日期格式的,parse方法要求短日期可以使用“/”或“-”作為分隔符,但是必須用月/日/年的格式來表示,例如今天是“7/6/2008”或是“7-6-2008”,問題就出現在這裡,當使用“7-6-2008”這種格式時,在IE中可以正常解析,但在FireFox中,返回值卻總是NaN。一開始以為是代碼出現問題,檢查以後才發現是瀏覽器的原因,後來將格式改為“7/6 /2008”後在IE和FF中都可以正常解析了。
2012年8月31日 星期五
2012年8月20日 星期一
favicon轉站小圖示
Favikon 網站小圖示(favicon)產生器
如果你有網站或部落格,應該為它加上一個網站小圖示,也就是 Favicon(發音為”fave-icon”,也就是喜愛的圖示),通常此圖示會出現在網頁瀏覽器的網址列旁邊,會使用標誌或是代表網站的圖片,除了出現在瀏覽器以外,也會使用在 RSS 閱讀器列表或是鏈結清單裡,加上好的 Favicon 可以讓使用者更容易辨識並記住你的網站。
一般來說 Favicon 的大小為 16×16,格式為 ICO 或 PNG,如果你沒有辦法使用繪圖軟體製作出圖示,透過 Favikon 服務只要把圖片上傳、在拖曳出剪裁範圍,就能夠線上產生兩種格式的 Favicon 網站小圖示。
網站名稱:Favikon網站鏈結:http://www.favikon.com/
使用教學
將檔案上傳後,會出現剪裁和縮放的操作框,把虛線拉到你想要保留的位置,然後點擊下面的下載為 ICO(Download ICO)或是下載為 PNG(Download PNG)就完成了。
不想使用這張圖片嗎?點擊上方的炸彈即可將圖片刪除。
經由 Favikon 轉換後的 Favicon 圖示大小確定為 16×16,格式有兩種。
最後在網站原始碼的 <head> 和 </head> 間插入以下語法就能使用小圖示:
<link rel="shortcut icon" href="你的favicon路徑" />2012年8月15日 星期三
shuffle: 將陣列的順序弄混
PHP shuffle這個函式可以將陣列的順序打亂(可以拿來當洗牌程式用)
範例中原本的陣列是1~52,使用shuffle就會把順序打亂囉!
1 | $poker_tag = array(); |
2 | for( $i = 1; $i <= 52; $i++ ){ |
3 | $poker_tag[] = $i; |
4 | } |
5 | //打亂陣列,洗牌 |
6 | shuffle($poker_tag); |
2012年8月13日 星期一
不同瀏覽器對於textarea中換行符的處理
此次遇到的問題在於 Textarea 有輸入換行的資料時候會發生,接收到的資料中有換行字元的話,不同瀏覽器會有不同的字元,因此若要取代成 Html 的換行標籤的時候就有可能判斷錯誤,或是還有一些字元存在。
我將測試的結果整理如下:
| 瀏覽器 | 換行字元 |
| IE | \r\n |
| Chrome | \n |
| Firefox | \n |
| Safari | \n |
| Oprea | \n |
2012年8月1日 星期三
擷取字串前幾個字並避免截掉半個中文字
php5.0之前的做法 --utf-8 編碼字串
function CuttingStr($str, $strlen) {
//把' '先轉成空白
$str = str_replace(' ', ' ', $str);
$output_str_len = 0; //累計要輸出的擷取字串長度
$output_str = ''; //要輸出的擷取字串
//逐一讀出原始字串每一個字元
for($i=0; $i<strlen($str); $i++) {
//擷取字數已達到要擷取的字串長度,跳出回圈
if($output_str_len >= $strlen){
break;
}
//取得目前字元的ASCII碼
$str_bit = ord(substr($str, $i, 1));
if($str_bit < 128) {
//ASCII碼小於 128 為英文或數字字符
$output_str_len += 1; //累計要輸出的擷取字串長度,英文字母算一個字數
$output_str .= substr($str, $i, 1); //要輸出的擷取字串
}elseif($str_bit > 191 && $str_bit < 224) {
//第一字節為落於192~223的utf8的中文字(表示該中文為由2個字節所組成utf8中文字)
$output_str_len += 2; //累計要輸出的擷取字串長度,中文字需算二個字數
$output_str .= substr($str, $i, 2); //要輸出的擷取字串
$i++;
}elseif($str_bit > 223 && $str_bit < 240) {
//第一字節為落於223~239的utf8的中文字(表示該中文為由3個字節所組成的utf8中文字)
$output_str_len += 2; //累計要輸出的擷取字串長度,中文字需算二個字數
$output_str .= substr($str, $i, 3); //要輸出的擷取字串
$i+=2;
}elseif($str_bit > 239 && $str_bit < 248) {
//第一字節為落於240~247的utf8的中文字(表示該中文為由4個字節所組成的utf8中文字)
$output_str_len += 2; //累計要輸出的擷取字串長度,中文字需算二個字數
$output_str .= substr($str, $i, 4); //要輸出的擷取字串
$i+=3;
}
}
//要輸出的擷取字串為空白時,輸出原始字串
return ($output_str == '') ? $str : $output_str;
}
function CuttingStr($str, $strlen) {
//把' '先轉成空白
$str = str_replace(' ', ' ', $str);
$output_str_len = 0; //累計要輸出的擷取字串長度
$output_str = ''; //要輸出的擷取字串
//逐一讀出原始字串每一個字元
for($i=0; $i<strlen($str); $i++) {
//擷取字數已達到要擷取的字串長度,跳出回圈
if($output_str_len >= $strlen){
break;
}
//取得目前字元的ASCII碼
$str_bit = ord(substr($str, $i, 1));
if($str_bit < 128) {
//ASCII碼小於 128 為英文或數字字符
$output_str_len += 1; //累計要輸出的擷取字串長度,英文字母算一個字數
$output_str .= substr($str, $i, 1); //要輸出的擷取字串
}elseif($str_bit > 191 && $str_bit < 224) {
//第一字節為落於192~223的utf8的中文字(表示該中文為由2個字節所組成utf8中文字)
$output_str_len += 2; //累計要輸出的擷取字串長度,中文字需算二個字數
$output_str .= substr($str, $i, 2); //要輸出的擷取字串
$i++;
}elseif($str_bit > 223 && $str_bit < 240) {
//第一字節為落於223~239的utf8的中文字(表示該中文為由3個字節所組成的utf8中文字)
$output_str_len += 2; //累計要輸出的擷取字串長度,中文字需算二個字數
$output_str .= substr($str, $i, 3); //要輸出的擷取字串
$i+=2;
}elseif($str_bit > 239 && $str_bit < 248) {
//第一字節為落於240~247的utf8的中文字(表示該中文為由4個字節所組成的utf8中文字)
$output_str_len += 2; //累計要輸出的擷取字串長度,中文字需算二個字數
$output_str .= substr($str, $i, 4); //要輸出的擷取字串
$i+=3;
}
}
//要輸出的擷取字串為空白時,輸出原始字串
return ($output_str == '') ? $str : $output_str;
}
訂閱:
文章 (Atom)