折騰了兩個小時,本以為完美的運算式,結果……。

用橫杠連接三段中文,兩種情況:
1、英文杠 2、中文杠
字字-字字-字字字字字, 這是中文杠,運行OK;
字字-字字-字字字字字 這是英文杠,只有第三段不限量,可以是0~任意個字
限定字符數量與格式 ,當用英文橫杠連接三段中文時,僅有第三段不限量,why???


private void btn_Validate_Click(object sender, EventArgs e)
{
if (!IsChinese(textBox1.Text.Trim()))//驗證字串是否為漢字
{ MessageBox.Show("NO NO NO!!!", "提示"); }//彈出訊息對話框
else { MessageBox.Show("輸入正確!!!!!", "提示"); }//彈出訊息對話框
}
/// <summary>
/// 驗證字串是否為漢字 單位-名稱-誰誰誰誰誰(中文 橫杠)
/// 單位-名稱-誰誰(英文 橫杠)
/// </summary>
/// <param name="str_chinese">字串</param>
/// <returns>方法回傳布林值</returns>
public bool IsChinese(string str_chinese)
{
string name001 = "([\u4e00-\u9fa5]{2}\\-){2}|([\u4e00-\u9fa5]{2}\\-){2}";//“—”中英文橫杠
string name002 = "([\u4e00-\u9fa5]{2,5})";
//使用正則運算式判斷是否匹配
return System.Text.RegularExpressions.Regex.IsMatch(str_chinese, ("^"+name001+""+ name002 +"$"));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/186736.html
標籤:C#
上一篇:新手求教,ligerform問題
