C# 中華民國 發票載具檢核(發票載具 檢查)~ 使用正則表達式/正規表達式

C# 中華民國 發票載具檢核(發票載具 檢查)~ 使用正則表達式/正規表達式

C#  中華民國 發票載具檢核(發票載具 檢查) ~ 使用正則表達式/正規表達式


資料來源: https://regex101.com/

https://github.com/jash-git/Regular-Expression-Teaching [正則表達式 影片+PDF 教學 [Regular Expression Teaching]]


[電子發票手機條碼驗證 / 如何驗證手機條碼載具]

https://www.ecpay.com.tw/CascadeFAQ/CascadeFAQ_Qa?nID=3531 (規則)
https://cynthiachuang.github.io/Check-E-Government-Uniform-Invoice/ (JAVA code)


C# 線上編譯器: https://dotnetfiddle.net/


code

using System;
using System.Text.RegularExpressions;
class Program
{
	/*
	如何驗證手機條碼載具	
	
	https://www.ecpay.com.tw/CascadeFAQ/CascadeFAQ_Qa?nID=3531
	
	共通性載具編碼邏輯或載具類別編號與載具編碼不符,將會影響消費者中獎權益
	綠界科技僅協助基本檢核邏輯,載具內容正確性需請商家自行驗證,
	驗證完畢後再進行建立訂單及開立票動作。
	
	基本檢核邏輯:第1碼為【/】; 其餘7碼則由數字【0-9】大寫英文【A-Z】
    與特殊符號【+】【-】【.】這39個字元組成的編號 	
	*/
	/*
	對應正則表達式/正規表達式
	https://cynthiachuang.github.io/Check-E-Government-Uniform-Invoice/
	
	^    -> 匹配字符串的開頭
	/    -> 第一個字一定要是斜線
	[]   -> 描述符合規則範圍
	A-Z  -> 大寫英文字母
	0-9  -> 純數字
	+-\. -> 四個特定符號
	{7}  -> / 之後總共7碼 
	$    -> 匹配字符串的結尾	
	*/
    static void Main()
    {
		string strinput="/RZDFEP2";
		MatchCollection matches01 = Regex.Matches(strinput, @"^/[A-Z0-9+-\.]{7}$");
		if( (matches01!=null) && (matches01.Count>0))
		{
			Console.WriteLine(@"合法 手機載具");
		}
		else
		{
			Console.WriteLine(@"非法 手機載具");
		}
		
    }
}

One thought on “C# 中華民國 發票載具檢核(發票載具 檢查)~ 使用正則表達式/正規表達式

  1. JAVA Code

    https://cynthiachuang.github.io/Check-E-Government-Uniform-Invoice/


    public static boolean verifyEgui(String egui){
    if(egui.length() != 8){
    System.out.println("Fail, 長度錯誤");
    return false;

    } else if(egui.charAt(0) != '/'){
    System.out.println("Fail, 必須 / 開頭");
    return false;
    }

    for(int i=1; i=48 && charactercode=65 && charactercode<=90);

    if (!(isSymbol || isNumber || isLetter)) {
    System.out.println("Fail, 包含不合法字元");
    return false;
    }
    }
    return true;
    }

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *