驗證身份證是否滿18歲
由於專案中需要校驗使用者輸入的身份證是否滿18歲,且網上的方法魚龍混雜,故自定義校驗方法如下:
- 第一種方法:
//驗證身份證是否成年這個方法中不做身份證校驗,請確保傳入的是正確身份證
+ (BOOL)verifyIDCardWithAdult:(NSString *)card{
//身份證:****年**月**日
//年
NSString *year = [card substringWithRange:NSMakeRange(6,4)];
NSInteger birthdayYear = [year integerValue];
//月
NSString *month = [card substringWithRange:NSMakeRange(10,2)];
NSInteger birthdayMonth = [month integerValue];
//日
NSString *day = [card substringWithRange:NSMakeRange(12,2)];
NSInteger birthdayDay = [day integerValue];
//獲取當前時間,日期:
NSDate *currentDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY/MM/dd" ];
NSString *dateString = [dateFormatter stringFromDate:currentDate];
NSRange range0 = [dateString rangeOfString:@"/"];
//年
NSString *year0 = [dateString substringToIndex:range0.location];
NSInteger nowYear = [year0 integerValue];
//月
NSString *month0 = [dateString substringWithRange:NSMakeRange(5 , 2)];
NSInteger nowMonth = [month0 integerValue];
//日
NSString *day0 = [dateString substringWithRange:NSMakeRange(8, 2)];
NSInteger nowDay = [day0 integerValue];
//具體校驗:
//年
if (nowYear - birthdayYear < 18){
return false;
}else if (nowYear - birthdayYear == 18){
//月
if (nowMonth < birthdayMonth){
return false;
}else if (nowMonth == birthdayMonth){
//日
if (nowDay < birthdayDay){
return false;
}
}
}
return true;
}
- 第二種方法:
+ (BOOL)verifyIDCardHadAdultII:(NSString *)card{
//身份證:****年**月**日
//年
NSString *year = [card substringWithRange:NSMakeRange(6,4)];
int birthdayYear = [year intValue];
birthdayYear+=18;
//月日
NSString *monthDay = [card substringWithRange:NSMakeRange(10,4)];
int birthdayMonth = [monthDay intValue];
NSString *birthdayDay = [NSString stringWithFormat:@"%d%d",birthdayYear,birthdayMonth];
//獲取當前時間,日期:
NSDate *currentDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYYMMdd"];
NSString *dateString = [dateFormatter stringFromDate:currentDate];
//年
NSString *year0 = [dateString substringWithRange:NSMakeRange(0, 4)];
int nowYear = [year0 intValue];
//月日
NSString *month0 = [dateString substringWithRange:NSMakeRange(4, 4)];
int nowMonth = [month0 intValue];
NSString *current = [NSString stringWithFormat:@"%d%d",nowYear,nowMonth];
//比較
if([birthdayDay compare:current options:NSNumericSearch] == NSOrderedDescending){
return false;
}
return true;
}
相關推薦
驗證身份證是否滿18歲
由於專案中需要校驗使用者輸入的身份證是否滿18歲,且網上的方法魚龍混雜,故自定義校驗方法如下: 第一種方法: //驗證身份證是否成年這個方法中不做身份證校驗,請確保傳入的是正確身份證 + (
php 驗證 身份證號碼 合法性 相容 (15位 和 18位身份證號碼)
<?php header("Content-Type: text/html; charset=utf-8"); echo "<p align='center'> <form method='post'>
身份證校驗及其18歲判定(包含18位身份證和15位身份證)
// IDCardVerifyDemo.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include <iostream> #include <string> #include <time.h>
laravel5之自定義驗證規則15位18位身份證驗證
1,app\Providers\AppServiceProvider.php在檔案中的boot方法中新增 namespace App\Providers; use Validator; use Illuminate\Support\ServiceProvider; clas
判斷身份證是否為18-25歲之間的女孩
/*任務04.身份證號碼中出生年月的提取 1、實訓目的 掌握字串函式的使用方法。 2、實訓內容 (1)任務描述 編寫一個程式:輸入一個身份證號,判斷該號碼對應的人是否是18至25歲女孩,是則輸出”yes
【jq】驗證15位和18位身份證號碼的正則表示式
function validateIdCard(idCard) { //15位和18位身份證號碼的正則表示式 var regIdCard = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(
php 驗證身份證有效性,根據國家標準GB 11643-1999 15位和18位通用
//驗證身份證是否有效 function validateIDCard($IDCard) { if (strlen($IDCard) == 18) { return check18IDCard($IDCard); } elseif ((strl
iOS驗證身份證號的有效性(僅18位號)
驗證身份證號的有效性(僅18位號) 概述 驗證身份證號的有效性。這裡僅支援18位身份證號的驗證,因為15位的身份證號碼基本上以及沒有了,筆者認為可以忽略。 通過正則表示式來判斷。附:正則表示式30分鐘入門教程。 下文中用到的正則表示式字串為"^[1-
驗證身份證號碼的正確性
判斷 號碼 match function inpu func urn input alert id為input的id// 判斷身份證是否正確$(‘#iscard‘).blur(function() { var card = $.trim($("#iscard").va
java驗證身份證號碼是否有效源代碼
numeric turn info 末尾 open 範圍 是否 驗證 pri 原文:http://www.open-open.com/code/view/1420373343171 1、描述 用java語言判斷身份證號碼是否有效,地區碼、出身年月、校驗碼等驗證算法
Hdu 1201 18歲生日
blog pre scanf 生日 宋體 desc font cnblogs 是不是 18歲生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total
hdu_1201 18歲生日
int print color clu include scanf 生日 amp main #include<stdio.h> int main(){ int n,a,b,c,sum,i,j; scanf("%d",&n); wh
18歲生日
ron tdi con blog pro clas == problem lag 問題 D: 18歲生日 時間限制: 1 Sec 內存限制: 32 MB[提交][狀態][討論版] 題目描述 zzq的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出
EXCEL規範數據輸入教程-驗證身份證號
excelEXCEL日常工作中經常會輸入身份證號碼,一不小心就可能出錯,今天大飛老師就分享這樣一個示例EXCEL規範數據輸入教程-驗證身份證號。 我們首先要保證在EXCEL中能正確輸入身份證號碼(PS:身份證號18位,直接輸入就會變成科學計數法形式1.235E+17),可以通過兩種方式。方式一:單引號+身份證
jquery驗證身份證號碼、手機號碼
htm tee false 檢測 包括 ber == 香港 bst // 驗證身份證 function IsUserCard(idNo) { if (idNo.length != 0) { if (!checkCard(idNo)) {
18歲高中生逆襲之路!沒錯就是這麽優秀!
學習思想18歲高中生逆襲之路! 今年我剛上大一,我現在是這樣想的,但是我認為我不能一成不變,學習是要看市場的,(我一般會去各大網站去搜索我心儀職位的能力要求),我認為:首先要對自己有一個好的定位,這就需要廣泛了解知識和行業要求,註意這裏不是學習。當定位自己適合和喜歡的職位以後,去網上找到該職位的
js驗證身份證號碼是否合規
blog i++ num sub 包括 功能 iso errcode split 需求:最近要做實名驗證的功能,但是驗證身份證號碼和身份證圖片的接口不想短信,比較貴,所以之前我們要驗證嚴謹一點,參考了網上關於驗證身份證號碼的代碼,總結一下 代碼: //驗證身份證號碼 fu
JS驗證身份證
變量 是否 無法 trim text 有效 浙江 ram 直接 話不多說,直接看代碼 JS部分 /** * 身份證15位編碼規則:dddddd yymmdd xx p * dddddd:地區碼 * yymmdd: 出生年月日 * xx: 順序類編碼,無法確定
php 驗證身份證號
div als check subst 特殊 number cti turn for function validation_filter_id_card($id_card){ if(strlen($id_card)==18){ ret
HDU--1201--18歲生日
Gardon的18歲生日就要到了,他當然很開心,可是他突然想到一個問題,是不是每個人從出生開始,到達18歲生日時所經過的天數都是一樣的呢?似乎並不全都是這樣,所以他想請你幫忙計算一下他和他的幾個朋友從出生到達18歲生日所經過的總天數,讓他好來比較一下。 Input 一個數T,後面