Java實現身份證號碼的驗證,JAVA后臺驗證身份證號碼

代碼如下:

package cn.gov.csrc.util;/*** 18 位身份證驗證器* * @author admin* */
public class IDCard {final int[] wi = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 };final int[] vi = { 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 };private int[] ai = new int[18];public IDCard() {}public boolean Verify(String idcard) {if (idcard.length() == 15) {idcard = uptoeighteen(idcard);}if (idcard.length() != 18) {return false;}String verify = idcard.substring(17, 18);if (verify.equals(getVerify(idcard))) {return true;}return false;}public String getVerify(String eightcardid) {int remaining = 0;if (eightcardid.length() == 18) {eightcardid = eightcardid.substring(0, 17);}if (eightcardid.length() == 17) {int sum = 0;for (int i = 0; i < 17; i++) {String k = eightcardid.substring(i, i + 1);ai[i] = Integer.parseInt(k);}for (int i = 0; i < 17; i++) {sum = sum + wi[i] * ai[i];}remaining = sum % 11;}return remaining == 2 ? "X" : String.valueOf(vi[remaining]);}public String uptoeighteen(String fifteencardid) {String eightcardid = fifteencardid.substring(0, 6);eightcardid = eightcardid + "19";eightcardid = eightcardid + fifteencardid.substring(6, 15);eightcardid = eightcardid + getVerify(eightcardid);return eightcardid;}public static void main(String[] args) {String idcard1 = "350211197607142059";String idcard2 = "350211197607442059";String idcard3 = "140222198911060538";IDCard idcard = new IDCard();System.out.println(idcard.Verify(idcard1));System.out.println(idcard.Verify(idcard2));System.out.println(idcard.Verify(idcard3));}
}


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443698.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443698.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443698.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android入門(14)| 通知

文章目錄創建通知點擊效果其它小功能實例創建通知 創建通知的步驟&#xff1a; 管理通知的 NotificationManager&#xff0c;通常通過當前 Context 的 getSystemService() 獲取實例。它接受一個字符串參數用于確定獲取系統的什么服務。Android 8.0(O) 版本后需要通知通道&…

Android開發(3) | 權限和內容提供器的應用——調用相機和相冊

文章目錄拍照并保存到 ImageView 控件布局文件 notice_layout.xml按鈕 button_takePhoto 的點擊操作隱式 Intent 啟動后的回調AndroidManifest.xml從相冊選取照片并在 ImageView 控件中顯示布局文件 notice_layout.xml按鈕 button_takePhoto 的點擊操作自定義打開相冊的方法 op…

Android開發(4) | 系統權限、MediaPlayer類 和 VideoView類 的應用——播放多媒體文件

文章目錄MediaPlayer類播放音頻的實例VideoView類播放視頻的實例MediaPlayer類 對多種格式的音頻文件提供了全面的控制方法&#xff1a; 如何獲得MediaPlayer實例&#xff1f; 通過構造函數&#xff1a; MediaPlayer mp new MediaPlayer();調用 MediaPlayer.create() 方法&…

Android入門(15)| 網絡

文章目錄WebViewHTTP使用HttpURLConnection使用OkHttp封裝網絡操作封裝HttpURLConnection封裝OkHttpWebView WebView 可以在 應用程序中&#xff08;而不是瀏覽器&#xff09; 展示一些網頁。 布局文件 web_layout.xml&#xff1a; <LinearLayoutxmlns:android"http…

Java-單例模式

單例模式相信大家都不陌生&#xff0c;在JAVAEE應用中&#xff0c;單例模式是一種應用非常廣泛的設計模式&#xff0c;應用中許多組件都只需要單個實例&#xff0c;下面介紹單例模式。 使用單例模式的優點&#xff1a; 1.減少創建JAVA實例所帶來的系統開銷。 2.便于系統跟蹤單…

Android入門(16)| 服務

文章目錄概念Android 多線程繼承 Thread繼承 Runable 接口匿名類異步消息處理AsyncTask使用服務框架啟動/停止服務綁定/解綁服務服務的生命周期前臺服務IntentService完整版下載示例下載過程的回調接口&#xff1a;DownloadListener繼承 AsyncTask 實現下載功能&#xff1a;Dow…

2020德勤面試開始了嗎_2020國考面試開始,近期面試公告匯總,附結構化小組面試流程...

2020年國家公務員考試面試環節逐步恢復考試&#xff0c;各個招錄部門已經發布面試考察公告&#xff0c;對于進入面試環節的國考考生來說&#xff0c;有必要了解近期國考面試的招錄動態&#xff0c;提前做好面試準備。2020國考國家統計局機關面試面試確認&#xff1a;請進入面試…

項目積壓需求項目計劃_需求變更頻繁,項目經理如何做好需求管理?

項目實施過程中&#xff0c;項目經理常常面臨一個重大挑戰——需求變更。需求變更無處不在&#xff0c;市場條件變化、新業務出現、戰略目標調整、客戶需求修改、資源限制等&#xff0c;都會造成需求變更。需求變更會影響項目的時間、成本和質量&#xff0c;對整個項目和團隊成…

Android | Sensor.TYPE_ORIENTATION被廢棄后的解決辦法

文章目錄概述getOrientation 方法根據 旋轉矩陣R 獲取 設備旋轉弧度getRotationMatrix 方法根據 地磁場、加速度傳感器對象 獲取 旋轉矩陣R代碼參考資料概述 Sensor.TYPE_ORIENTATION 常數在 API 8 中已棄用&#xff0c;官方推薦使用 SensorManager.getOrientation() 替代。關…

【JAVA 開發小問題】 | String操作合集

文章目錄截取特定兩個字符之間的字符串截取特定兩個字符之間的字符串 利用正則表達式&#xff0c;圖片來源

uniapp 刷新后數據都沒有了_環境溫度傳感器都沒有連接,竟然還會有數據?

福田歐曼GTL(福康發動機、康明斯2880系統)匹配ECoffit尿素泵●故障現象&#xff1a;OBD故障燈點亮&#xff0c;不燒尿素&#xff0c;油耗高&#xff0c;動力不足●故障碼&#xff1a;●維修分析&#xff1a;①故障指出加熱器問題&#xff0c;摸下尿素箱溫度&#xff0c;發現燙手…

Android | 再探 RecyclerView 之名詞解析

文章目錄Adapter、ViewHolderchild viewLayoutManagerRecyclerScrapDirtyIndexPositionlayout position 和 adapter position四級緩存瀏覽本文前推薦先閱讀 Android入門&#xff08;九&#xff09;| 滾動控件 ListView 與 RecyclerView Adapter、ViewHolder Adapter: A subcla…

Linux學習:第一章-Linux簡介

一 UNIX發展史1 1965年&#xff0c;美國麻省理工學院&#xff08;MIT&#xff09;、通用電氣公司&#xff08;GE&#xff09;及AT&T的貝爾實驗室聯合開發Multics工程計劃&#xff0c;其目標是開發一種交互式的具有多道程序處理能力的分時操作系統&#xff0c;但因Multics追…

尼爾機器人技能快捷鍵_《尼爾機械紀元》連招操作技巧

《尼爾機械紀元》中的每個角色都可以裝備一個輕武器和一個重武器&#xff0c;技能招式也很豐富&#xff0c;下面為大家帶來了《尼爾機械紀元》連招操作技巧&#xff0c;希望對你們有所幫助。連擊技能展示視頻視頻原址&#xff1a;點擊進入基本沒有什么太難的連段&#xff0c;只…

保姆級教學!Xcode 配置 OpenGL 環境

文章目錄GLFW獲取 GLFWGLAD獲取 GLAD在 Xcode 中配置下載好的 GLFW 和 GLAD配置流程檢測是否配置成功無關配置的題外話——Xcode 下安全的刪除移動操作GLFW Graphics Library Framework&#xff08;圖形庫框架&#xff09;&#xff0c;可以讓我們通過其封裝好的 通用API 來正確…

Android入門(17)| 百度提供的 Android定位SDK

文章目錄配置百度提供的 Android定位SDK用于發布的 SHA1用于測試的 SHA1使用百度定位實例配置百度提供的 Android定位SDK 詳情參見官方文檔&#xff0c;這里僅對獲取 SHA1 做詳細介紹&#xff1a; 用于發布的 SHA1 用于測試的 SHA1 使用百度定位實例 public class LocationAc…

ios 不被遮擋 陰影_為何你沒見到日環食?你不知道的天象常識原來還有這么多 | 返樸...

關注風云之聲提升思維層次導讀說好的日環食呢&#xff0c;為什么上周很多人只等到了日偏食?日食月食的時間和種類是怎么預測的?你真的弄懂了各種日食和月食的成因嗎&#xff1f;你了解它們有什么區別和聯系&#xff0c;又遵循什么樣的時間規律嗎? 日食和月食發生的頻率一樣嗎…

初識貝塞爾(bezier)曲線

文章目錄資料援引貝塞爾曲線的用途一階貝塞爾&#xff08;bezier&#xff09;曲線二階貝塞爾&#xff08;bezier&#xff09;曲線三階貝塞爾&#xff08;bezier&#xff09;曲線高階貝塞爾&#xff08;bezier&#xff09;曲線三階貝塞爾曲線求插值&#xff08;Slerp&#xff09…

python代碼測試 vim_用 Hypothesis 快速測試你的 Python 代碼

點擊上方“Python編程時光”&#xff0c;選擇“加為星標”第一時間關注Python技術干貨&#xff01;介紹無論你使用哪種編程語言或框架&#xff0c;測試都非常重要。Hypothesis是 Python 的一個高級測試庫。它允許編寫測試用例時參數化&#xff0c;然后生成使測試失敗的簡單易懂…

Mac 下 CMake 的配置與使用

文章目錄安裝與配置編譯單個源文件編譯前的準備開始編譯編譯多個源文件多個源文件在同一目錄下多個源文件在不同目錄下math 目錄下的 CMakeLists.txt根目錄的 CMakeLists.txtoption 選項導入外部庫本地導入&#xff08;find_package&#xff09;外部導入&#xff08;FetchConte…