iOS-04-iOS調(diào)用js實現(xiàn)校驗身份證磕蒲、港澳通行證留潦、護(hù)照、軍官證和臺胞證方法

前提

我們在平常注冊的時候都會校驗省份證辣往,但是很少會遇到校驗其他證件類型的兔院,今天正好結(jié)合ios調(diào)用js方法實現(xiàn)這一操作

實現(xiàn)方法

創(chuàng)建html文件

<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <input type="button" value="btn" id="btn" onclick="isjunguanzheng()" /> <input type="button" value="btn" id="btn" onclick="isHkongMacao()" /> <input type="button" value="btn" id="btn" onclick="isTaiw()" /> <input type="button" value="btn" id="btn" onclick="issfz()" /> <input type="button" value="btn" id="btn" onclick="isPassport()" /> <script> // 驗證身份證號碼有效性的方法 function issfz(value) { card_number = value.toLowerCase(); var aCity = {11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "內(nèi)蒙古", 21: "遼寧", 22: "吉林", 23: "黑龍江", 31: "上海", 32: "江蘇", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山東", 41: "河南", 42: "湖北", 43: "湖南", 44: "廣東", 45: "廣西", 46: "海南", 50: "重慶", 51: "四川", 52: "貴州", 53: "云南", 54: "西藏", 61: "陜西", 62: "甘肅", 63: "青海", 64: "寧夏", 65: "新疆", 71: "臺灣", 81: "香港", 82: "澳門", 91: "國外"}; if (!/^\d{17}(\d|x)$/i.test(card_number)) { //身份證不能為空 return false; } else { card_number = card_number.replace(/x$/i, "a"); if (aCity[parseInt(card_number.substr(0, 2))] == null) { //你的身份證地區(qū)非法 return false; } else { var sBirthday = card_number.substr(6, 4) + "-" + Number(card_number.substr(10, 2)) + "-" + Number(card_number.substr(12, 2)); var d = new Date(sBirthday.replace(/-/g, "/")); if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) { //身份證上的出生日期非法 return false; } else { var iSum = 0; for (var i = 17; i >= 0; i--) { iSum += (Math.pow(2, i) % 11) * parseInt(card_number.charAt(17 - i), 11); } if (iSum % 11 != 1) { //你輸入的身份證號非法 return false; } return true; //aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女") } } } } //護(hù)照驗證 function isPassport(value) { var c = /\S{8,14}/; return c.test(value); } //軍官證驗證 function isjunguanzheng(value) { var reg = /\S{8,10}/; value = value.replace(/(^\s*)|(\s*$)/g, ""); if (reg.test(value) === false) { return false; } else { return true; } } //驗證港澳通行證 function isHkongMacao(value) { var a = /\S{9,12}/; return a.test(value); } //驗證臺胞證 function isTaiw(value, element) { var d = /\d{8,11}/; return d.test(value); } </script> </body> </html>
這里我們不需要了解太多 只需要知道 我們通過調(diào)用isjunguanzheng()isHkongMacao()站削、isTaiw()坊萝、issfz()isPassport()實現(xiàn)功能。

在原生ios項目中調(diào)用html文件中的js方法

將創(chuàng)建的html文件導(dǎo)入到我們的工程中十偶,在我們需要使用js功能的地方創(chuàng)建webView并調(diào)用
#import "ViewController.h" @interface ViewController () <UIWebViewDelegate> @property (nonatomic, strong) UIWebView* webview; @end @implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; self.webview = [[UIWebView alloc] init]; self.webview.backgroundColor = [UIColor clearColor]; self.webview.delegate = self; NSString* basePath = [[NSBundle mainBundle] bundlePath]; NSString* helpHtmlPath = [basePath stringByAppendingPathComponent:@"ver.html"]; NSURL* url = [NSURL fileURLWithPath:helpHtmlPath]; //加載本地html文件 [self.webview loadRequest:[NSURLRequest requestWithURL:url]]; [self.view addSubview:self.webview]; }- (void)touchesBegan:(NSSet<UITouch*>*)touches withEvent:(UIEvent*)event { NSString* str = [self.webview stringByEvaluatingJavaScriptFromString:@"issfz('130621199208225275');"]; NSLog(@"JS返回值:%@", str); } @end

通過該方式并能實現(xiàn)我們想要的功能菩鲜!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市惦积,隨后出現(xiàn)的幾起案子接校,更是在濱河造成了極大的恐慌,老刑警劉巖荣刑,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馅笙,死亡現(xiàn)場離奇詭異,居然都是意外死亡厉亏,警方通過查閱死者的電腦和手機(jī)董习,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爱只,“玉大人皿淋,你說我怎么就攤上這事√袷裕” “怎么了窝趣?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長训柴。 經(jīng)常有香客問我哑舒,道長,這世上最難降的妖魔是什么幻馁? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任洗鸵,我火速辦了婚禮,結(jié)果婚禮上仗嗦,老公的妹妹穿的比我還像新娘膘滨。我一直安慰自己,他們只是感情好稀拐,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布火邓。 她就那樣靜靜地躺著,像睡著了一般德撬。 火紅的嫁衣襯著肌膚如雪铲咨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天蜓洪,我揣著相機(jī)與錄音鸣驱,去河邊找鬼。 笑死蝠咆,一個胖子當(dāng)著我的面吹牛踊东,可吹牛的內(nèi)容都是我干的北滥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼闸翅,長吁一口氣:“原來是場噩夢啊……” “哼再芋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坚冀,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤济赎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后记某,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體司训,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年液南,在試婚紗的時候發(fā)現(xiàn)自己被綠了壳猜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡滑凉,死狀恐怖统扳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情畅姊,我是刑警寧澤咒钟,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站若未,受9級特大地震影響朱嘴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粗合,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一腕够、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舌劳,春花似錦、人聲如沸玫荣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捅厂。三九已至贯卦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間焙贷,已是汗流浹背撵割。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留辙芍,地道東北人啡彬。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓羹与,卻偏偏與公主長得像,于是被迫代替她去往敵國和親庶灿。 傳聞我的和親對象是個殘疾皇子纵搁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 不支持上傳文件,所以就復(fù)制過來了往踢。作者信息什么的都沒刪腾誉。對前端基本屬于一竅不通,所以沒有任何修改峻呕,反正用著沒問題就...
    全棧在路上閱讀 1,952評論 0 2
  • 單例模式 適用場景:可能會在場景中使用到對象利职,但只有一個實例,加載時并不主動創(chuàng)建瘦癌,需要時才創(chuàng)建 最常見的單例模式猪贪,...
    Obeing閱讀 2,058評論 1 10
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,738評論 0 33
  • 愛情的守護(hù)神 無論男生還是女生,都一直被青春痘所困擾,對男生而言,是形象的貶值,是魅力的減分,對女生來說,是信心的...
    oo_c602閱讀 192評論 0 0
  • 捧一顆秋雨滴玩的是心跳 題記:2016年10月20日佩憾,應(yīng)外遷至武漢的“南水北調(diào)”中線工程移民之請哮伟,帶他們到武漢HP...
    文心雕禪閱讀 220評論 10 3