欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java代碼驗(yàn)證身份證號(hào) java判斷身份證號(hào)碼是否正確

java字符串操作,驗(yàn)證輸入的身份證合法與否

/**

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、蕭山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為蕭山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

* 定義一個(gè)方法,輸入一個(gè)身份證號(hào)碼(18)位,最終返回一個(gè)字符串,格式如下:“尊敬的男士(女士),您是****年**月**日出生的。”

* 要求:如果輸入的身份證不是18位,或者格式不正確(包含非數(shù)字字符,除了最后一位的X除外)則返回一個(gè)字符串“您輸入的身份證號(hào)碼有誤”

* */

import java.util.Scanner;

public class JudgeID {

public static void main(String[] args){

Scanner reader = new Scanner(System.in);

System.out.println("請(qǐng)輸入您的id號(hào)碼");

String id = reader.next();

System.out.println(judgeID(id));

}

public static String judgeID(String IDNumber){

int len = IDNumber.length();

String wrongMsg = "您輸入的身份證號(hào)有誤";

String correctMsg = null;

char lastChar = IDNumber.charAt(len-1);

String year = null;

String month = null;

String day = null;

if(len != 18){

return wrongMsg;

}

for(int i = 0; i len-1; i++){

if(IDNumber.charAt(i) '0' || IDNumber.charAt(i) '9' ){

return wrongMsg;

}

}

if(lastChar != 'X' lastChar '0' lastChar '9'){

return wrongMsg;

}

//如果身份證格式是沒有問題的,那個(gè)打印年月日信息

year = IDNumber.substring(6,10);

month = IDNumber.substring(10,12);

day = IDNumber.substring(12,14);

correctMsg = "您是"+year+"年"+month+"月"+day+"日出生!";

return correctMsg;

}

}

java驗(yàn)證身份證號(hào)碼是不是有效源代碼

package?com.yanlun.starter.utils;

import?java.util.regex.Pattern;

/**

*?@author?作者:Yan,Email:yanlun0323@163.com

*?@version?創(chuàng)建時(shí)間:2017年5月26日?上午10:42:09

*/

public?class?Validation?{

public?static?final?Pattern?REX_DATE_YYYYMM_PATTERN?=?Pattern.compile("^[0-9]{6}$");

public?static?final?Pattern?REX_DATE_YYYYMMDD_PATTERN?=?Pattern.compile("^[0-9]{8}$");

//?身份證校驗(yàn)加權(quán)因子

public?static?final?Integer[]?ID_NUM_FACTOR?=?new?Integer[]?{?7,?9,?10,?5,?8,?4,?2,?1,?6,?3,?7,?9,?10,?5,?8,?4,?2,

1?};

//?身份證第18位校驗(yàn)碼

public?static?final?String[]?ID_NUM_PARITY_BIT?=?new?String[]?{?"1",?"0",?"X",?"9",?"8",?"7",?"6",?"5",?"4",?"3",

"2"?};

/*

?*?是否空字符串

?*?

?*?@param?c?文本或其它基本數(shù)字類型對(duì)象

?*/

public?static?boolean?isEmpty(Object?c)?{

return?c?==?null?||?c.toString().trim().equals("");

}

/**

?*?判斷是否為“”式的時(shí)期

?*?

?*?@param?dateStr

?*?@return

?*/

private?static?boolean?isDate6(String?dateStr)?{

if?(isEmpty(dateStr)?||?!REX_DATE_YYYYMM_PATTERN.matcher(dateStr).matches())?{

return?false;

}

return?isValidDateRange(date6Split(dateStr));

}

/**

?*?判斷是否為“YYYYMMDD”式的時(shí)期

?*?

?*?@param?dateStr

?*?@return

?*/

private?static?boolean?isDate8(String?dateStr)?{

if?(isEmpty(dateStr)?||?!REX_DATE_YYYYMMDD_PATTERN.matcher(dateStr).matches())?{

return?false;

}

return?isValidDateRange(date8Split(dateStr));

}

private?static?boolean?isLeapYear(Integer?year)?{

return?((year?%?4?==?0)??(year?%?100?!=?0))?||?(year?%?400?==?0);

}

private?static?boolean?isInvalidYear(Integer?year)?{

return?year??1700?||?year??2500;

}

private?static?boolean?isInvalidMonth(Integer?month)?{

return?month??1?||?month??12;

}

private?static?boolean?isInvalidDay(Integer?day,?Integer?month,?Integer?year)?{

Integer[]?iaMonthDays?=?new?Integer[]?{?31,?28,?31,?30,?31,?30,?31,?31,?30,?31,?30,?31?};

if?(isLeapYear(year))

iaMonthDays[1]?=?29;

return?day??1?||?day??iaMonthDays[month?-?1];

}

/**

?*?split?date?0-YY,1-MM,2-DD

?*?

?*?@param?dateStr

?*?@return

?*/

private?static?Integer[]?date6Split(String?dateStr)?{

final?Integer?YEAR_BASE?=?1900;

Integer?year?=?null,?month?=?null,?day?=?null;

year?=?YEAR_BASE?+?Integer.valueOf(dateStr.substring(0,?2));

month?=?Integer.valueOf(dateStr.substring(2,?4));

day?=?Integer.valueOf(dateStr.substring(4,?6));

return?new?Integer[]?{?year,?month,?day?};

}

/**

?*?split?date?0-YYYY,1-MM,2-DD

?*?

?*?@param?dateStr

?*?@return

?*/

private?static?Integer[]?date8Split(String?dateStr)?{

Integer?year?=?null,?month?=?null,?day?=?null;

year?=?Integer.valueOf(dateStr.substring(0,?4));

month?=?Integer.valueOf(dateStr.substring(4,?6));

if?(dateStr.length()?==?8)?{

day?=?Integer.valueOf(dateStr.substring(6,?8));

return?new?Integer[]?{?year,?month,?day?};

}?else?{

return?new?Integer[]?{?year,?month?};

}

}

private?static?boolean?isValidDateRange(Integer[]?dateSplitResult)?{

Integer?year?=?dateSplitResult[0],?month?=?dateSplitResult[1],?day?=?dateSplitResult[2];

if?(isInvalidYear(year))

return?false;

if?(isInvalidMonth(month))

return?false;

if?(isInvalidDay(day,?month,?year))

return?false;

return?true;

}

/**

?*?18位/15位身份證號(hào)碼校驗(yàn)

?*?

?*?@param?idNumber

?*?@return

?*/

public?static?boolean?isIdentityCardNum(String?idNumber)?{

if?(isEmpty(idNumber)?||?(idNumber.length()?!=?18??idNumber.length()?!=?15))?{

return?false;

}

//?initialize

if?(idNumber.length()?==?18)?{

//?check?date

String?date8?=?idNumber.substring(6,?14);

if?(isDate8(date8)?==?false)?{

return?false;

}

int?totalMulAiWi?=?0;

char?charAt;

//?check?and?set?value,?calculate?the?totalmulAiWi

for?(int?i?=?0;?i??17;?i++)?{

charAt?=?idNumber.charAt(i);

if?(charAt??'0'?||?charAt??'9')?{

return?false;

}

totalMulAiWi?+=?Integer.valueOf(String.valueOf(charAt))?*?ID_NUM_FACTOR[i];

}

//?calculate?the?check?digit

String?checkDigit?=?ID_NUM_PARITY_BIT[totalMulAiWi?%?11];

//?check?last?digit

if?(!checkDigit.equalsIgnoreCase(String.valueOf(idNumber.charAt(17))))?{

return?false;

}

}?else?{//?length?is?15

//?check?date

String?date6?=?idNumber.substring(6,?12);

if?(isDate6(date6)?==?false)?{

return?false;

}

}

return?true;

}

}

使用java判斷輸入身份證號(hào)位數(shù)是否正確,判斷輸入是否有效

使用java語言實(shí)現(xiàn)一個(gè)身份證號(hào)碼轉(zhuǎn)換的程序:把15位號(hào)碼轉(zhuǎn)換為18位的號(hào)碼功能要求:1.判斷輸入身份證號(hào)位數(shù)是否正確,判斷輸入是否有效(如輸入非數(shù)字字符),否則提示用戶重新輸入。

2.計(jì)算身份證號(hào)碼。

3.根據(jù)身份證號(hào)的第7-14位(YYYYMMDD)顯示出生日期。4.根據(jù)身份證號(hào)的第17位(奇數(shù)為男性,偶數(shù)為女性),顯示性別。

java代碼怎么校驗(yàn)身份證號(hào)碼含有非法字符

如果只要判斷有非法的字符(除0-9和Xx外)可用正則表達(dá)式publicstaticvoidmain(String[]args){//TODOcodeapplicationlogichereStrings="2142213weqrwe32";StringregEx="[^0-9Xx]";Patternpat=Pattern.compile(regEx);Matchermat=pat.matcher(s);booleanrs=mat.find();if(rs){System.out.print("有非法字符");}另外,校驗(yàn)身份證號(hào)碼有專門程序的,可直接校驗(yàn)身份證號(hào)是否正確,在自己在網(wǎng)上找下

使用java判斷輸入身份證號(hào)位數(shù)是否正確,判斷輸入是否有效?

public static void getString(){\x0d\x0a String a,b;\x0d\x0a while (true) {\x0d\x0a Scanner input = new Scanner(System.in);\x0d\x0a System.out.println("請(qǐng)輸入您的18位身份證號(hào)碼!!");\x0d\x0a a = (String) input.next();\x0d\x0a if (a.length() == 18) {\x0d\x0a a.matches("/D");\x0d\x0a b = a.substring(6, 14);\x0d\x0a System.out.println("請(qǐng)的出生日期為:" + b);\x0d\x0a if(a.charAt(16)%2 == 0)\x0d\x0a {\x0d\x0a System.out.println("您的性別是女性!");\x0d\x0a }else{\x0d\x0a System.out.println("您的性別是男性!");\x0d\x0a }\x0d\x0a } else {\x0d\x0a System.out.println("您輸入的身份證錯(cuò)誤!!");\x0d\x0a }\x0d\x0a }\x0d\x0a }

用Java 寫程序完成輸入的身份證號(hào)碼合法性判斷

我國自1999年實(shí)施公民身份號(hào)碼制度以來,許多公民身份號(hào)碼末位為“X”的公民,由于不明白“X”的含義,要求給予更換,產(chǎn)生了不必要的誤會(huì)。目前我國公民身份證號(hào)碼由18位數(shù)字組成:前6位為地址碼,第7至14位為出生日期碼,第15至17位為順序碼,第18位為校驗(yàn)碼。檢驗(yàn)碼分別是“0、1、2、……10”共11個(gè)數(shù)字,當(dāng)檢驗(yàn)碼為“10”時(shí),為了保證公民身份證號(hào)碼18位,所以用“X”表示。雖然校驗(yàn)碼為“X”不能更換,但若需全用數(shù)字表示,只需將18位公民身份號(hào)碼轉(zhuǎn)換成15位居民身份證號(hào)碼,去掉第7至8位和最后1位3個(gè)數(shù)碼。

當(dāng)今的身份證號(hào)碼有15位和18位之分。1985年我國實(shí)行居民身份證制度,當(dāng)時(shí)簽發(fā)的身份證號(hào)碼是15位的,1999年簽發(fā)的身份證由于年份的擴(kuò)展(由兩位變?yōu)樗奈唬┖湍┪布恿诵?yàn)碼,就成了18位。這兩種身份證號(hào)碼將在相當(dāng)長的一段時(shí)期內(nèi)共存。兩種身份證號(hào)碼的含義如下:

18位的身份證號(hào)碼 如:130429####%%%%0078

1~6位為地區(qū)代碼,其中1、2位數(shù)為各省級(jí)政府的代碼,3、4位數(shù)為地、市級(jí)政府的代碼,5、6位數(shù)為縣、區(qū)級(jí)政府代碼。如13(河北省)04(邯鄲市)29(永年縣)

7~14位為出生年月日

15~17位為順序號(hào),是縣、區(qū)級(jí)政府所轄派出所的分配碼,每個(gè)派出所分配碼為10個(gè)連續(xù)號(hào)碼,例如“000-009”或“060-069”,其中單數(shù)為男性分配碼,雙數(shù)為女性分配碼,如遇同年同月同日有兩人以上時(shí)順延第二、第三、第四、第五個(gè)分配碼。如:007的就是個(gè)男生 而且和他同年月日生的男生至少有兩個(gè) 他們的后四位是001* 和 003*

18位為效驗(yàn)位(識(shí)別碼),通過復(fù)雜公式算出,普遍采用計(jì)算機(jī)自動(dòng)生成。是前面17位的一種檢驗(yàn)代碼,如果你改變了前面某個(gè)數(shù)字而后面的效驗(yàn)代碼不響應(yīng)改變就會(huì)被計(jì)算軟件判斷為非法身份正號(hào)碼。X也是效驗(yàn)代碼的一中

15位的身份證號(hào)碼:

(1)1~6位為地區(qū)代碼

(2)7~8位為出生年份(2位),9~10位為出生月份,11~12位為出生日期

(3)第13~15位為順序號(hào),并能夠判斷性別,奇數(shù)為男,偶數(shù)為女。

分享題目:java代碼驗(yàn)證身份證號(hào) java判斷身份證號(hào)碼是否正確
本文來源:http://chinadenli.net/article42/hghohc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作營銷型網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈域名注冊(cè)搜索引擎優(yōu)化靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)