一種用戶標識識別方法
2023-07-14 08:19:46 2
專利名稱:一種用戶標識識別方法
技術領域:
本發明涉及計算機技術,尤其涉及一種用戶標識識別方法。
背景技術:
隨著計算機技術的發展,各種類型的郵件客戶端軟體以及即時通信軟體得到了廣泛的應用。
目前的即時通信軟體都具有通過輸入用戶標識進行聯繫人查看或添加的功能,例如在騰訊QQ軟體或騰訊TM軟體中,用戶可通過在輸入框中輸入單個聯繫人的用戶標識(如QQ號碼)進行聯繫人查找或添加,當輸入用戶標識後,點擊旁邊的「查看資料」,如果輸入的是有效的用戶標識,則會彈出用戶資料窗口,當該聯繫人資料正好是用戶所需要的,用戶就可以針對該聯繫人發起添加聯繫人的請求;如果輸入的是無效的用戶標識,則會彈出用戶標識無效的提示窗口,告知用戶所輸入的用戶標識無效。現有的即時通信軟體在進行查找或添加聯繫人操作時,每次在輸入框中只能夠輸入一個有效的用戶標識,對於在輸入框中輸入多個有效的用戶標識以及針對其中的每個用戶標識查看其詳細資料以及執行其他後續操作的過程缺乏有效支持。
目前的郵件客戶端軟體都具有郵件群發的功能,例如在Outlook軟體或Foxmail軟體中,用戶可以通過在收件人輸入框中輸入多個收件人的用戶標識(如郵件地址)來實現向多個收件人發送郵件的功能。但是目前的郵件客戶端軟體不會自動識別所輸入的用戶標識是否為有效的用戶標識,並且對針對其中的每個用戶標識查看收件人的詳細資料的過程缺乏有效支持。
綜上可見,需要提出一種對輸入框中輸入的多個用戶標識的有效性進行識別的方案,以達到對多個用戶標識進行批量操作的目的。
發明內容
本發明提供一種用戶標識識別方法,用以解決現有技術中對輸入框中輸入的多個用戶標識的有效性無法進行自動識別的問題。
本發明方法包括一種用戶標識識別方法,用於對用戶在輸入框中輸入的用戶標識進行識別,所述用戶標識為至少一個字符構成的字符串;包括步驟A、判斷用戶當前在輸入框中輸入的字符是否為分隔符,若是,執行步驟B,否則,重複執行步驟A;B、提取當前輸入的分隔符與前一個分隔符之間的字符串或當前輸入的分隔符前面的字符串,根據預設規則判斷該字符串是否為有效的用戶標識,若是,執行步驟C,否則刪除該字符串;C、為所述用戶標識建立用於連結後續操作的數據結構。
所述數據結構中定義了用戶標識在輸入框中的位置範圍與後續操作的連結關係,當點擊落入用戶標識在輸入框中的位置範圍時,該位置範圍所連結的後續操作被觸發。
所述用戶標識的位置範圍由用戶標識對應的字符串在輸入框中的起始位置和終止位置確定。
所述步驟C後還包括步驟D、重新繪製當前輸入的用戶標識,使其模擬表現為超級連結形式。
所述提取字符串的過程為判斷當前輸入的分隔符的前面是否存在其他的分隔符,若是,則提取當前輸入的分隔符與前一個分隔符之間的字符組成的字符串,若否,則提取當前輸入的分隔符前面的所有字符組成的字符串。
所述刪除字符串的過程為在當前的輸入框中順序提取所有有效的用戶標識所對應的字符串,在提取出的字符串之間插入分隔符以組合所有有效的用戶標識,利用組合後的內容對當前輸入框中的內容進行替換。
所述刪除字符串的過程為查找該字符串的在輸入框內的起始位置,將從該起始位置到最後位置的字符串替換為空字符串。
在刪除字符串時觸發彈出用於告知用戶當前輸入的用戶標識無效的提示窗口。
本發明有益效果如下本發明的用戶標識識別方法根據預先設定的規則判定輸入框中的用戶標識是否為有效的用戶標識,並為有效的用戶標識建立用於連結後續操作的數據結構。從而簡單易行的實現了對輸入框中輸入的多個用戶標識的有效性的識別,並且在選擇輸入框中的單個用戶標識進行操作時,即可觸發該用戶標識所對應的後續操作。本發明可廣泛應用於對輸入框內的多個用戶標識進行批量操作的應用場景之下,簡化了用戶的操作複雜度,提高了用戶的使用體驗。
圖1為本發明的用戶標識識別的流程圖。
具體實施例方式
本發明用戶標識識別方法針對現有技術的缺陷,提出能夠對輸入界面中輸入的多個用戶標識的有效性進行識別的處理方式,下面將結合各個附圖對本發明的主要實現原理及其具體實施方式
進行詳細的闡述。
請參照圖1,該圖為本發明的用戶標識識別的流程圖,其主要過程如下步驟S10、動態生成父窗口程序,然後動態生成輸入框,將當前生成的父窗口指定為輸入框的父窗口。
步驟S11、截獲輸入框控制項的Windows窗口消息WM_CHAR,WM_CHAR消息為用戶進行輸入操作時產生的Windows窗口消息,即每當用戶在輸入框中輸入一個字符時,都會調用WM_CHAR的消息處理函數,並同時調用父窗口的字符變化處理函數;父窗口的字符變化處理函數判斷當前用戶輸入的字符是否為約定的分隔符,例如分號「;」,如果不是分隔符,則繼續截獲WM_CHAR消息並重複執行本步驟,如果是分隔符,則執行步驟S12。
步驟S12、輸入框控制項利用Windows的窗口函數提取當前輸入框中所有的字符串信息,遍歷得到的字符串中的所有字符,以分隔符作為匹配源,利用字符匹配函數判斷當前輸入的分隔符的前面是否存在其他的分隔符,若是,則利用Windows系統提供的字符串操作接口函數提取當前輸入的分隔符與前一個分隔符之間的字符組成的字符串,若否,則提取當前輸入的分隔符前面的所有字符組成的字符串。
步驟S13、利用預先設定的規則遍歷步驟S12中提取的字符串中的所有字符,判斷其是否為有效的用戶標識,若該字符串為無效的用戶標識,則刪除輸入框中的該字符串,在刪除該無效用戶標識的同時,彈出告知用戶輸入的某個用戶標識無效的提示框;若該字符串為有效的用戶標識,則執行步驟S14;常用的刪除輸入框中的字符串的方式有兩種,下面分別予以說明第一種刪除方式的過程如下在輸入框中利用Windows系統與窗口操作相關的底層API(Application Program Interface,應用程式接口)函數順序提取所有有效的用戶標識所對應的字符串,利用字符串插入字符接口函數在提取出的字符串之間插入分隔符以組合所有有效的用戶標識,利用組合後的內容通過Windows窗口API函數對當前輸入框中的內容進行替換,這樣即可以達到自動刪除輸入的無效用戶標識的目的;第二種刪除方式的過程如下利用Windows輸入框控制項函數以無效用戶標識字符串為輸入查找到輸入的無效用戶標識字符串的起始位置,然後利用替換函數將從該起始位置到輸入框內容的最後位置的字符串替換為空字符串,這樣也可以達到刪除無效用戶標識的目的。
例如當輸入的用戶標識為QQ號碼時,預先設定的規則會限定輸入的字符只能是數字,且對兩個分隔符之間的字符串以及第一個分隔符前面的字符串的位數有所限制,當用戶輸入的QQ號碼中含有字母時,則輸入框中的該QQ號碼會被自動刪除,同時彈出當前輸入的QQ號碼為無效QQ號碼的提示窗口;而當輸入的用戶標識為E-mail地址時,預先設定的規則會限定兩個分隔符之間的字符串以及第一個分隔符前面的字符串中應具有一個@字符,當用戶輸入的E-mail地址中不包含@字符時,則輸入框中的該E-mail地址會被自動刪除,同時彈出當前輸入的E-mail地址為無效地址的提示窗口。
步驟S14、為該用戶標識建立一個連結形式的數據結構,該連結形式的數據結構中定義了用戶標識在輸入框中的位置範圍與後續操作之間的連結關係,其數據結構中成員內容包括連結的名稱即連結標識符,連結標誌以及連結標識符的起始與結束位置信息,其中連結標識符即為用戶標識,連結標誌用於連結預先設定的後續操作,主要用於區分針對不同的連結標識符所可以進行的後續函數處理操作,在某些應用中,用戶可能希望在點擊某個用戶標識的時候,程序能夠根據提取的連結標識符查看該用戶的詳細資料,而在某些其他的應用中,用戶可能會希望點擊另外一個用戶標識的時候,程序能夠根據提取的連結標識符彈出與該用戶的聊天窗口或者聊天記錄。為了區分這種用戶點擊用戶標識後,主程序處理分支的不同,引入了連結標誌的概念,通過為不同的連結標識符設置不同的連結標誌可以確保在主程序中得到正確的後續函數處理。連結標識符的起始與結束位置信息為用戶標識在輸入框中的位置範圍信息。
步驟S15、利用Windows窗口操作函數得到輸入框控制項的句柄,通過Windows消息接口函數發送對輸入框進行重新繪製的消息,在輸入框控制項中遍歷所有已經建立的連結形式的數據結構,提取每個結構中的連結標識符的起始與結束位置,根據連結標識符的起始與結束位置對連結標識符進行重新繪製,利用Windows繪圖函數在連結標識符的下面根據起始與結束位置繪製橫線,同時利用預先設置字體顏色繪製連結標識符的文本字符串,從而模擬表現為超級連結形式;例如按照特定的顏色(如藍色)對該位置的連結標識符進行文本繪製或者在連結標識符的下面繪製橫線等等。
步驟S16、利用Windows系統底層操作滑鼠API函數獲取當前光標的位置信息,判斷光標當前是否落在某個連結標識符的起始與結束位置之間,如果落在了某個連結標識符的位置範圍內,則通過窗口函數裝載手型圖標,否則裝載普通的圖標;步驟S17、當輸入框控制項捕獲到用戶在超級連結形式的連結標識符上的單擊消息WM_LBUTTONDOWN時,輸入框控制項開始遍歷所有連結形式的數據結構,提取數據結構中每個連結標識符的起始與結束位置,判斷光標當前落在哪個連結標識符的位置上,並把該連結標識符設置為當前選中的連結標識符對象,輸入框控制項調用父窗口的處理函數,把該連結標識符的數據結構通過消息參數傳遞給父窗口,父窗口從連結標識符的數據結構中提取出用戶標識;步驟S18、父窗口根據連結標識符的數據結構中定義的連結標誌,觸發預先設置的後續操作連結,利用Windows窗口操作函數彈出該後續操作所對應的後續操作窗口,例如,當用戶標識為QQ號碼時,可以彈出查看個人資料的窗口或者聊天窗口等等,當用戶標識為手機號碼時,可以彈出發送簡訊息的窗口等等,這些都是可以通過實際的應用需要在父窗口中進行配置處理。
上述用戶標識識別方法主要用在對輸入框中輸入的多個用戶標識的有效性的識別的應用場景中,並且在選擇輸入框中的單個用戶標識進行操作時,即可觸發該用戶標識所對應的後續操作,下面以騰訊QQ軟體為例,對本發明的應用場景進行說明當用戶需要查找或添加多個聯繫人時,可在輸入框中輸入多個QQ號碼,多個QQ號碼之間通過分隔符「;」連接,每輸入一個分隔符「;」後,輸入框會自動判別該分隔符前面的QQ號碼是否為有效的QQ號碼,若是,則將輸入框內已經建立連結關係的QQ號碼重新繪製為超級連結形式;若否,則輸入框自動刪除該QQ號碼。
當光標落入輸入框內的某個QQ號碼的位置範圍內時,光標會變成手型,用以向用戶提示該QQ號碼連結有後續操作,當用戶點擊該QQ號碼時,即彈出預先設定的後續操作窗口,例如用戶資料顯示框或者聊天窗口等等。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種用戶標識識別方法,用於對用戶在輸入框中輸入的用戶標識進行識別,所述用戶標識為至少一個字符構成的字符串;其特徵在於,包括步驟A、判斷用戶當前在輸入框中輸入的字符是否為分隔符,若是,執行步驟B,否則,重複執行步驟A;B、提取當前輸入的分隔符與前一個分隔符之間的字符串或當前輸入的分隔符前面的字符串,根據預設規則判斷該字符串是否為有效的用戶標識,若是,執行步驟C,否則刪除該字符串;C、為所述用戶標識建立用於連結後續操作的數據結構。
2.如權利要求1所述的用戶標識識別方法,其特徵在於,所述數據結構中定義了用戶標識在輸入框中的位置範圍與後續操作的連結關係。
3.如權利要求2所述的用戶標識識別方法,其特徵在於,所述用戶標識的位置範圍由用戶標識對應的字符串在輸入框中的起始位置和終止位置確定。
4.如權利要求2所述的用戶標識識別方法,其特徵在於,當點擊落入用戶標識在輸入框中的位置範圍時,該位置範圍所連結的後續操作被觸發。
5.如權利要求1所述的用戶標識識別方法,其特徵在於,所述步驟C後還包括步驟D、重新繪製當前輸入的用戶標識,使其模擬表現為超級連結形式。
6.如權利要求1所述的用戶標識識別方法,其特徵在於,所述提取字符串的過程為判斷當前輸入的分隔符的前面是否存在其他的分隔符,若是,則提取當前輸入的分隔符與前一個分隔符之間的字符組成的字符串,若否,則提取當前輸入的分隔符前面的所有字符組成的字符串。
7.如權利要求1所述的用戶標識識別方法,其特徵在於,所述刪除字符串的過程為在當前的輸入框中順序提取所有有效的用戶標識所對應的字符串,在提取出的字符串之間括入分隔符以組合所有有效的用戶標識,利用組合後的內容對當前輸入框中的內容進行替換。
8.如權利要求1所述的用戶標識識別方法,其特徵在於,所述刪除字符串的過程為查找該字符串的在輸入框內的起始位置,將從該起始位置到最後位置的字符串替換為空字符串。
9.如權利要求1、7或8所述的用戶標識識別方法,其特徵在於,在刪除字符串時觸發彈出用於告知用戶當前輸入的用戶標識無效的提示窗口。
全文摘要
本發明公開了一種用戶標識識別方法,用以解決現有技術中對輸入框中輸入的多個用戶標識的有效性無法進行自動識別的問題。本發明根據預先設定的規則判定輸入框中的用戶標識是否為有效的用戶標識,並為有效的用戶標識建立用於連結後續操作的數據結構。簡單易行的實現了對輸入框中輸入的多個用戶標識的有效性的識別,並且在選擇輸入框中的單個用戶標識進行操作時,即可觸發該用戶標識所對應的後續操作。本發明可廣泛應用於對輸入框內的多個用戶標識進行批量操作的應用場景之下,簡化了用戶的操作複雜度,提高了用戶的使用體驗。
文檔編號G06F17/30GK1912868SQ200510089838
公開日2007年2月14日 申請日期2005年8月8日 優先權日2005年8月8日
發明者李斌, 張星亮, 任翔, 劉小聰 申請人:騰訊科技(深圳)有限公司