2017年6月19日 星期一

【Windows API】C# UNC 網路磁碟機 或 網路資料夾 mount 路磁碟機代號

Windows API
UNC 網路磁碟機 或 網路資料夾

今天的教學不使用 net command 指令

教程課程:
Netapi32.dll

其中三種 函式

1.NetUserAdd([MarshalAs(UnmanagedType.LPWStr)] string servername, int level, ref USER_INFO_? buf, int parm_err)
說明:新增一個連線資訊
參數說明:
servername:DNS or NetBIOS name名稱,如果沒有用可以設 null

level:參數有4種 (1.2.3.4 分別USER_INFO_1 - USER_INFO_2 )就是指資料型態是哪種

buf:回傳 USER_INFO_?

parm_err:用於 NetUserSetInfo ,如果沒用可以設 null

2.NetUserDel([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string username);
說明:刪除現有連線資訊

3.NetUserGetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string username,int level,out IntPtr bufptr);
說明:查詢現有連結資訊,等同反相得到資料
servername:可以null
username:權限帳號
level:同 NetUserAdd
out bufptr:IntPtr 指標  會收到(結果)   -->Marshal.PtrToStructure(bufPtr, typeof(USER_INFO_?))
Marshal:Marshal.PtrToStructure從 Unmanaged 記憶體區塊封送處理資料到新配置的指定類型的 Managed 物件。

USER_INFO_2 (level 資料型態:2)其它1.3.4 都大同小異
MSDN 網址:https://msdn.microsoft.com/zh-tw/library/windows/desktop/aa371337(v=vs.85).aspx

參數:
LPWSTR usri2_name;
LPWSTR usri2_password; --->密碼
DWORD usri2_password_age;
DWORD usri2_priv;
LPWSTR usri2_home_dir;
LPWSTR usri2_comment;
DWORD usri2_flags;
LPWSTR usri2_script_path;
DWORD usri2_auth_flags;
LPWSTR usri2_full_name;
LPWSTR usri2_usr_comment;
LPWSTR usri2_parms;
LPWSTR usri2_workstations;
DWORD usri2_last_logon;
DWORD usri2_last_logoff;
DWORD usri2_acct_expires;
DWORD usri2_max_storage;
DWORD usri2_units_per_week;
PBYTE usri2_logon_hours;
DWORD usri2_bad_pw_count;
DWORD usri2_num_logons;
LPWSTR usri2_logon_server;
DWORD usri2_country_code;
DWORD usri2_code_page;


Msdn C++ 說明及範例:
網址:https://msdn.microsoft.com/zh-tw/library/windows/desktop/aa370654(v=vs.85).aspx

其它網站說明:
NetUserAdd
網址:http://www.pinvoke.net/default.aspx/netapi32/NetUserAdd.html
網址:http://www.securitypronews.com/using-the-network-functions-in-c-part-i-user-functions-2003-06
其它中文網址:http://www.cnblogs.com/tonyqus/archive/2004/12/26/82120.aspx
其它範例 網址:http://www.securitypronews.com/using-the-network-functions-in-c-part-i-user-functions-2003-06

NetUserGetInfo
其它範例 網址:http://www.pinvoke.net/default.aspx/netapi32/NetUserGetInfo.html

Marshal
MSDN網址:https://msdn.microsoft.com/zh-tw/library/system.runtime.interopservices.marshal(v=vs.110).aspx

Marshal.PtrToStructure
MSDN 網址:https://msdn.microsoft.com/zh-tw/library/4ca6d5z7(v=vs.110).aspx

2017年6月17日 星期六

【隨便開箱文】nac nac 紫外線消毒烘乾機 UA-0011 獨家照片

就隨便開

nac nac 紫外線消毒烘乾機 UA-0011

獨家照片




















【早餐】新莊 夯 碳烤吐司 行動餐車 中華路一段

新莊 夯 碳烤土司 行動餐車

店名「夯」

它是一台發財車..

超屌的,因為晚點去你就沒東西可以買了

不到中午就收攤了...因為太美味了!

餐車沒有位置,可以帶到旁邊的新莊公國吃...

風景好、空氣好.吃飽還可以散步

星期日不開店...大家就別跑了

地址: 新莊 中華路 一段182號 就在  (貴族世家新莊體育館店 旁)

官方臉書:https://www.facebook.com/alltheragesalty/

地圖如下:


獨家拍照







好吃到 孕婦都來買

泡菜燒肉


2017年6月12日 星期一

【Linux】編譯 c 語言 利用 gcc 指令來做

linux 上 編譯 c 語言  利用 gcc 指令來做

$ gcc -c helloworld.c
產出export ---> helloworld.o

$ gcc -o hello helloworld.o
產出export ---> hello

執行:
/hello
顯示:Hello World!!

廠商不教不會用的人,意思就是不教...

只好自己學

2017年6月9日 星期五

【API分享】利用 API YAHOO YQL GOOGLE API YQL 爬資料 2017-06-08

YQL select from html ( html table is no longer supported )

2017-06-08

說明:已不提供支援

可以改抓 select from htmlpost  (you use htmlpost )
使用post ,但結果(RESULT) 會多一層   postresult

自己在 call function 在調整

change use htmlpost 


官網:https://developer.yahoo.com/yql/console/?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fsamplecsvs.s3.amazonaws.com%2FSacramentorealestatetransactions.csv%27%0A%20%20%20%20%20%20and%20columns%3D%27street%2Ccity%2Czip%2Cstate%2Cbeds%2Cbaths%2Csq__ft%2Ctype%2Csale_date%2Cprice%2Clatitude%2Clongitude%27&env=store://datatables.org/alltableswithkeys#




【YQL API - From 來源】
股票
yahoo.finance.quotes
天氣
weather.forecast

任何網址
url
說明:https://developer.yahoo.com/weather/
說明:http://www.jianshu.com/p/7ce4b21810e5?nomobile=yes

歷史查詢
yahoo.finance.historicaldata
說明:http://www.itkeyword.com/doc/7472183801132171674/how-to-access-yahoo-finance-yql-query-with-historical-data

新聞
search.news
說明:http://www.jianshu.com/p/b947ecf6cd05
------------------------------------------------------


https://query.yahooapis.com/v1/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDHKD%22%2C%20%22USDJPY%22%2C%20%22USDTWD%22)&format=json&diagnostics=true&callback=

XML 美金、香港、日本、台幣
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("HKDTWD", "JPYTWD", "USDTWD")&format=json&env=store://datatables.org/alltableswithkeys
JSON 美金、香港、日本、台幣
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("HKDTWD", "JPYTWD", "USDTWD")&format=json&env=store://datatables.org/alltableswithkeys

查詢港股
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ("2002.HK")&format=json&env=store://datatables.org/alltableswithkeys

查詢台股
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ("2002.HK")&format=json&env=store://datatables.org/alltableswithkeys

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22HKDTWD%22,%20%22JPYTWD%22,%20%22USDTWD%22)&format=json&env=store://datatables.org/alltableswithkeys

Google API JSON 匯率
來源網址 http://sya.idv.tw/archives/1131
https://www.google.com/finance/info?q=CURRENCY:TWDJPY,TWDUSD
https://www.google.com/finance/info?q=CURRENCY:TWDUSD
https://www.google.com/finance/info?q=CURRENCY:USDTWD

要顯示多筆可以逗號分開
//取2002即時股價 JSON
http://finance.google.com/finance/info?client=ig&q=TAIEX:2002
http://finance.google.com/finance/info?client=ig&q=TAIEX:2002,1101

//香港 2002 股價 JSON
http://finance.google.com/finance/info?client=ig&q=HKG:2002

//美國 蘋果股 JSON
http://finance.google.com/finance/info?client=ig&q=AAPL,YHOO

來源網址:
http://lovecoding.logdown.com/posts/257928-use-yahoo-api-to-obtain-historical-stock-price-data

http://blog.asper.tw/2015/05/json.html
http://asper-bot-rates.appspot.com/currency.json

https://tw.rter.info/capi.php


https://www.google.com/finance/getprices?q=2002&x=TPE&i=86400&p=3d&f=d,c,h,l,o,v

yahoo api CSV 檔案
http://download.finance.yahoo.com/d/quotes.csv?s=AUDUSD=X&f=nl1d1t1
http://download.finance.yahoo.com/d/quotes.csv?s=USDTWD=x,TWDJPY=x&f=nl1d1t1

UI
https://finance.yahoo.com/quote/2002.TW/history?ltr=1

http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

UI
https://www.google.com/finance/converter?a=1&from=TWD&to=JPY

UI
https://www.google.com/finance?q=JPYUSD

來源網址:http://myskilltree.blogspot.tw/2016/03/yahoo-api.html
http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json

XML
https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote
https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json

//yahoo API 說明
http://wiki.dreamrunner.org/public_html/Misc/Trade/FinanceAPI.html
http://wern-ancheta.com/blog/2015/04/05/getting-started-with-the-yahoo-finance-api/


https://query.yahooapis.com/v1/public/yql?q=use%20%22http%3A%2F%2Fyqlblog.net%2Fsamples%2Fhelloworld.xml%22%3Bselect%20*%20from%20helloworld%20where%20a%3D%22cat%22%20and%20b%3D%22dog%22%3B%0A&diagnostics=true

https://blog.ccjeng.com/2016/03/Yahoo-Finance-API.html

來源網址:
https://sya.idv.tw/archives/1131


https://query.yahooapis.com/v1/public/yql?q=select * from html where url='http://en.wikipedia.org/wiki/Yahoo' and xpath='//table/*[contains(.,"Founder")]//a'
select * from html where url='http://en.wikipedia.org/wiki/Yahoo' and xpath='//table/*[contains(.,"Founder")]//a'


https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ('2628.HK')&format=json&diagnostics=true



function getData() {
    var url = 'http://query.yahooapis.com/v1/public/yql';
    var symbol = $("#symbol").val();
    var data = encodeURIComponent("select * from yahoo.finance.quotes where symbol in ('" + symbol + "')");

    $.getJSON(url, 'q=' + data + "&format=json&diagnostics=true&env=http://datatables.org/alltables.env")
        .done(function (data) {
            $('#result').text("Price: " + data.query.results.quote.LastTradePriceOnly);
        })
        .fail(function (jqxhr, textStatus, error) {
            var err = textStatus + ", " + error;
            console.log('Request failed: ' + err);
        });
}

http://www.itkeyword.com/doc/3970460632658567818/localhost-jsonp-ajax

【Yahoo YQL】html table is no longer supported

2017-06-08

YQL select from html ( html table is no longer supported )

說明:已不提供支援

可以改抓 select from htmlpost  (you use htmlpost )
使用post ,但結果(RESULT) 會多一層   postresult

請在 call function 調整 讀取資料

change use htmlpost 

2017年6月1日 星期四

【Google Analytics】Google Search 關鍵字查詢 報表,改版為「站內搜尋」功能 ,GG了

【Google Analytics】Google Search 關鍵字查詢 報表,改版為「站內搜尋」功能 ,GG了

原先的 Google Search 的「關鍵字」資料都被 GA 全清掉了,以後不能作弊了

官網說明:
https://support.google.com/analytics/answer/1012264?hl=zh-Hant

其它網站說明:
http://www.yesharris.com/ga-site-search-report/

http://ga.awoo.com.tw/virtual-pageviews/

【ASP.NET Web API 2】如何使用 JSONP 或 轉 CSV

ASP.NET Web API 2 才有的基本類別

System.Net.Http.Formatting
說明:包含依據要求的媒體類型格式,序列化和還原序列化訊息主體的類別。
MSDN :https://msdn.microsoft.com/zh-tw/library/system.net.http.formatting(v=vs.118).aspx

GlobalConfiguration.Configure
說明.. 提供 ASP.NET 應用程式的全域
Stackoverflow:https://stackoverflow.com/questions/20226715/globalconfiguration-configure-not-present-after-web-api-2-and-net-4-5-1-migra

改寫類別 JsonpMediaTypeFormatter < JsonMediaTypeFormatter < BaseJsonMediaTypeFormatter < MediaTypeFormatter

相關網站說明
請參考以下網址:
http://twincati.blogspot.tw/2016/11/web-api.html

http://benhumble.blogspot.tw/2016/08/aspnet-webapi-jsonp.html


【如果想用【NuGet:WebApiContrib.Formatting.Jsonp】套件解決】
請參考以下網址:
http://xpower2888.pixnet.net/blog/post/221969849-asp.net-web-api-%E9%85%8D%E7%BD%AE-jsonp---xishuai

https://dotblogs.com.tw/senonoted/2016/07/06/161632


【如果使用 Web Form】
請參考以下網址:
http://www.cnblogs.com/xishuai/p/3552919.html

【轉 CSV 】
請參考以下網址:
MSDN (Media Formatters in ASP.NET Web API 2):
https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/media-formatters


【Web API 或 Web API 2  所有相關說明】
請參考以下網址(可以從「Guidance」 開始看) :
MSDN :https://docs.microsoft.com/en-us/aspnet/web-api/





2017年5月13日 星期六

【壽險分享】 2017-05-10 三家保險就是壽險的研究個人分享

三商美邦人壽
強制保一個 安心終身壽險 ,就是你死了才能領
其它的跟國泰蠻像的


南山:
對於終生險部份
一個終生含蓋了多項:一至六級殘廢、祝壽保險、身故保險金或喪費用、無理貼回饋
保障很多,但...我不想一個終壽花那麼多保障我不需要的產品

國泰
這家很特別,很多 兩光商品很多,可以讓你拼裝..
就像是一台車分很多零件,要什麼併什麼..算蠻靈活的

【開箱文】使用心得... CHIMEI奇美 VC-SA1PH0 手持直立兩用

缺點:聲音大太、主體兩邊會出吹出風,還有臭臭的味道在整間房間裡面,另外,還有點小重,沒有刷子,還要拿牙刷在刷....

金額:1000元有找










2017年4月26日 星期三

【知識分享】IT> 程式人員 必備 搜尋網站


程序園
http://www.voidcn.com/

Stack Overflow
https://stackoverflow.com/

github
https://github.com/

codeproject
https://www.codeproject.com/

2017年2月16日 星期四

【ASP.MVC】Line 瀏覽器 UserAgent 資料 Line/7.0.1/IAB

UserAgent 記錄如下:

Mozilla/5.0 (Linux; Android 5.0.2; HTC_One_max Build/LRX22G; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 Line/7.0.1/IAB

2017年1月25日 星期三

【 Xamarin Visual Studio 2015 】 如何 檢查 Xamarin 版本 How to check Xamarin version

【 Xamarin Visual Studio 2015 】 如何 檢查 Xamarin 版本 How to check Xamarin version

其實很簡單

當你開啟了,但又很難想在哪看到的!! (真的..我打從以為下指令或哪個 tool 裡面可以看到)

解決說明:
開啟 「Visual Studio 2015 」
功具列表最右邊     點選「說明」 (英文版:Help)

就會跳出一個新視窗  「關於 Microsoft Visual Studio」  (英文版:About Microsoft Visual Studio)

請拉捲軸在「已安裝的產品」往下拉就會看到 Xamarin 版本

畫面如下:

【 Xamarin Visual Studio 2015 】簡單說明 Visual Studio 外掛(擴充) Xamarin IDE 工具 開發 APP 架構

【 Xamarin Visual Studio 】簡單說明 Visual Studio 的擴充 Xamarin IDE  工具 開發 APP 架構


1.Xamarin.IOS
可以Windows 開發,透過 Mac(蘋果電腦) 瀏覽畫面

2.Xamarin.Android
可以Windows 開發

3.Xamarin.Forms
優點:同時開發 Android 、IPhone(IOS) APP
缺點:不支援太多底層原生元件

4.Xamarin.Mac
可以透過Visual Studio 在 Mac(蘋果電腦) 開發 App


官方說明網址:
https://developer.xamarin.com/guides/cross-platform/getting_started/requirements/#Windows_Requirements

【 Xamarin Visual Studio 2015 Update 3 】2017-01 安裝 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...

軟體工具: Visual Studio 2015 (Update 3) on Xamarin (4.2.2.11)

【 Xamarin Visual Studio 】2017-01 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...

初始安裝好 Xamarin Visual Studio 軟體環境 如下:

1.Java Development Kit Location
版本:jdk1.7.0_55

2.Android SDK Location

3.Android NDK Location<--- p="">  下載點:https://developer.android.com/ndk/downloads/index.html
  Google 打關鍵字連結: Android NDK Downloads

出現編譯問題:

【問題一】

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2072,3): error : java.lang.UnsupportedClassVersionError: com/android/dx/command/Main  :
Unsupported major.minor version 52.0

解決:這個問題顯示是 java sdk 太舊 ,無法編輯, 你要升級 java sdk 1.8 版 以上

Java Sdk 下載點
網址::http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

當你選安裝:Windows x64 \ 195.51 MB  \jdk-8u121-windows-x64.exe 版本
<--- p="">
安裝好之後要在你的 Xamarin  選項裡面設定 Android SDK Location  然定你安裝好的java sdk 路徑

開一個範本APP專案後,發現 佈署沒有 AVD 的東西,此時請你先
點選 工具(T)\Android\Android Emulator Manager ,先開啟一個AVD 模擬器

此時在開始那邊就會突然顯示出來你的模擬器名稱

<--- p="">附上 Java 版本對照表如下:
J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
<--- p="">
JDK 1.1 = 45
<--- p="">
<--- p="">【問題二】
<--- p="">在執行 Android 模擬器時,跳出 以下 Alert 訊息,是指 可以 修改 CPU Intel Atom (x86) ,透過 HXAM 的 Hyper-V 執行  Android 模擬器,可以變快
<--- p="">
Running an x86 based Android Virtual Device(AVD) is 10x faster. We strongly recommend creating a new AVD.
<--- p="">
PS.如果您是 Windows 7 就打消此念頭,因為Windows 7 沒有 Hyper-V ,只有Windows 10 才有
<--- p="">
<--- p="">
....待續


2016年12月24日 星期六

【生活分享 】2016-12-24 台北文昌宮 2016年尾 點燈 2017 年 禮品

2016年 年尾 台北文昌宮 點燈 贈禮

2016 年尾 文昌 點燈 禮品 2016-12-24

台北文昌宮 好禮 點燈 相送 2016-12-24

2016年12月9日 星期五

【美食好推】新莊(秘境)小吃行動車 呂家 豬血糕

【美食好推】新莊(秘境)小吃 行動車 呂家 豬血糕

應該很難吃的到,要隨緣,真是口感很好,

好像有至少有15年營業到處賣>>>>> 沒倒就是好吃的象徵


呂家 豬血糕

價錢10年沒變,好吃

【IIS Windows 10 】Windows 10 在 iis 上 重新安裝 Framework 指令 powershell

新電腦 windows 10 裝完 VS 2015 再安裝  IIS 上看不到 Framework

懶的移除重新安裝的方法就是下指令

開始 搜尋  「powershell」 ,請右鍵請選擇「以系統管理員執行」

再輸入指令如下:
dism /online /enable-feature /all /featurename:IIS-ASPNET45



【IIS】Windows 10 在 iis 上 重新安裝 Framework

如圖下:

尋找 powershell 右鍵 管理員執行

powershell 下指令
完成後的IIS 畫面



2016年10月20日 星期四

【ASP.MVC】私房菜 MVC 30 招

第一招 (2016/10/23):
Html.AntiForgeryToken 自動 在 X-Frame-Options 中加上:SAMEORIGIN"

說明:禁止其它網站使用 Iframe 崁入
針對:X-Frame-Options 說明請參考以下網址:
網址:https://developer.mozilla.org/zh-TW/docs/HTTP/X-Frame-Options


第二招 (2016/10/25):
jQuery Validation 驗證表單

說明:找出尚有錯誤訊息,禁止 form.Submit()
針對:$("form").data("validator").errorList.length
網址:http://www.codeproject.com/Tips/539167/Modify-jQuery-validation-settings-using-MVC-unobtr

第三招(SQL ELMAH_Error)

ELMAH Utc 轉 Local Time

SELECT CONVERT(datetime,
               SWITCHOFFSET(CONVERT(datetimeoffset,
                                    ELMAH_Error.TimeUtc),
                            DATENAME(TzOffset, SYSDATETIMEOFFSET())))
       AS ColumnInLocalTime
FROM ELMAH_Error

第四招( IIS SSL 443 PORT)

說明:明明設定了 443 port 確無法顯示正常的 一個鎖的狀態
針對:因為你的網站頁面上面, including 外站資料 ,比如IMAGE 圖檔或 JavaScript 檔案
案例如下:

錯誤內容 including  其它網站 圖片或 js 檔,引發無法驗證成ssl 檔案

正確網址



待續...

2016年9月6日 星期二

【ASP NET.MVC, C# 】 Class to Json returun String to html 解析 String to obj

【ASP NET.MVC, C# 】Class to Json returun String to html 解析 String to obj

Action
return Json(save_result, "text/html", JsonRequestBehavior.AllowGet);

Html
JSON.parse(data.result);


【Jquery】jQuery Upload File 元件

使用:jquery.fileupload-validate.js 卻錯訊息

錯誤訊息:Cannot call method 'push' of undefined
是因為少了:jquery.fileupload-process.js

把它加入就可以了,要放在 validate 之前引用

2016年8月27日 星期六

【ASP.MVC】JSON 使用 前後台對應

【Action】
方法1
            var d = Context.CodeTree
                .Select(o => new { o.Name, o.Value });
方法2
            var result = from o in Context.CodeTree
                   .Select
                   (
                      o => new { o.Name, o.Value }
                   )
                     select o;

方法3
 IEnumerable Studentitems = 
 db.Student.Where(c => c.StudentCategoryID == CategoryID)
 .AsEnumerable().Select(c => new SelectListItem()
{
Text=c.Name,
Value=c.StudentID.ToString()
});
SelectList StudentID = new SelectList(Studentitems, "Value", "Text");

方法1
return Content(JsonConvert.SerializeObject(result), "application/json");
方法2
ViewBag.result = JsonConvert.SerializeObject(result);
方法3
return Json(StudentID, JsonRequestBehavior.AllowGet);

【View】
var q = '@Html.Raw(ViewBag.result)'

【ASP.MVC】驗証

數字:"^[0-9]*$"。

n位的數字:"^\d{n}$"。

至少n位的數字:"^\d{n,}$"。

m~n位的數字:。"^\d{m,n}$"

零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。

有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。

有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。

非零的正整數:"^\+?[1-9][0-9]*$"。

非零的負整數:"^\-[1-9][]0-9"*$。

長度為3的字符:"^.{3}$"。

由26個英文字母組成的字符串:"^[A-Za-z]+$"。

由26個大寫英文字母組成的字符串:"^[AZ]+$"。

由26個小寫英文字母組成的字符串:"^[az]+$"。

由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。

由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。

驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。

驗證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。

只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"

驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。

驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。

驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX "、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。

驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。

驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。

驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。


ModelState.AddModelError方法是給View返回一個錯誤消息,最終交給@Html.ValidationSummary顯示。

2016年8月21日 星期日

【ASP.NET MVC 5 完全攻略】 這本書我自己的評語

對於【ASP.NET MVC 5 完全攻略】 這本書我自己的評語是:

初學者去看,會看不太懂書中要傳遞的詳細說明,

我本身是從今年開始學ASP.MVC 起初是看不懂書中要傳達的意思,

漸漸有了MVC基礎之後,在回頭看這本書,裡面寫的很細,

用途及用法及說明也有很多範例,只是範例用法也要看好幾次,

才會看得懂它的意思,我覺得書中並沒有傳達的很清楚圖像式,

書是直接切入細節說明,會讓初學者跳的太快,讓人翻一下就丟在陪邊,


PS.以上個人感覺說明,書的內容因人而異

2016年8月19日 星期五

【Jquery】DataTable套件 套用 language url 問題

        $(document).ready(function () {
            var table = $('#example').DataTable({
                "language": {
                    "url": "tw.json"
                }
            });
        });



照官網怎麼套繁體中文「Chinese-traditional.json」都有問題,結果就把檔案下來,用本機端去試,然後再然的「副檔名」改成 json 就搞定了...


繁體 官網說明:https://datatables.net/plug-ins/i18n/Chinese-traditional


官網:https://datatables.net/

大陸:http://datatables.club/

2016年8月18日 星期四

【LINQ】SELECT 兩個 欄位 tw column (第三種:Lambda select )

        public IQueryable CompanyList()
        {
            IQueryable result = null;

                result = from o in Context.Company
                         .Select
                         (
                            o => new { o.CodeName ,o.CodeValue}
                         )
                        select o;

            return result;
        }

解析後:
{SELECT
    1 AS [C1],
    [Extent1].[CodeName] AS [CodeName],
    [Extent1].[CodeValue] AS [CodeValue]
    FROM (
SELECT
    [Company].[Id] AS [CodeTreeId],
    [Company].[CodeName] AS [CodeName],
    [Company].[CodeValue] AS [CodeValue],
    [Company].[Sort] AS [Sort],

    FROM [dbo].[Company] AS [Company]) AS [Extent1]}

【LINQ】Select 兩個 欄位 two column (第二種:更好解法 linq select new)

【LINQ】Select 兩個 欄位 two column (第二種:更好解法 linq select new)

【範例1】
        public IQueryable CompanyList()
        {
            IQueryable result = null;


            var q = from o in Context.Company
                    select new
                    {
                        o.CodeName,
                        o.CodeValue,
                    };
            result = q.ToList().AsQueryable();

            return result;
        }

解析:
{System.Collections.Generic.List`1[<>f__AnonymousType0`2[System.String,System.String]]}

【範例2】
        public IEnumerable CompanyList()
        {
            IEnumerable result = null;


            var q = from o in Context.Company
                    select new
                    {
                        o.CodeName,
                        o.CodeValue,
                    };
            result = q.ToList();

            return result;
        }

解析:
result = Count = 3


提供給 dropdownlist 或 radiobox 或 checkbox 使用

【LINQ】Select new two column 只撈兩個欄位,再轉回CLASS 類型 (第一種)

【LINQ】Select new two column  只撈兩個欄位,再轉回CLASS 類型   (第一種)
以下這樣做法太麻煩了

        public IQueryable CompanyList()
        {
            IQueryable result = null;

            result = (from o in Context.Company
                      orderby o.Sort ascending
                      select new
                      {
                          CodeName = o.CodeName,
                          CodeValue = o.CodeValue,
                      }
                     ).ToList()
                    .Select(x => new Company
                    {
                        CodeName = x.CodeName,
                        CodeValue = x.CodeValue,
                    }).AsQueryable();

            return result;
        }

{System.Linq.Enumerable+WhereSelectListIterator`2[<>f__AnonymousType0`2[System.String,System.String],Dcn.SqlClient.Company]}

2016年7月31日 星期日

【旅遊記】觀音山 硬漢嶺

觀音山 硬漢嶺

2016/08/01 已完成

適合大家老少一同去的地方,風景超美的!

2016年7月23日 星期六

【初嚐美食】Pizza 車子 手工炭烤披薩

【初嚐美食】Pizza 車子 手工炭烤披薩

最近家中附近出了一台PIZZA

付了錢180元吧,有點忘了,小貴

吃完的感覺是, 還是必勝客的好吃.也比較便宜