Rumah hujung hadapan web tutorial js 判断用户输入的银行卡号是否正确的方法_正则表达式

判断用户输入的银行卡号是否正确的方法_正则表达式

Jun 28, 2017 pm 01:39 PM
masuk bank

下面小编就为大家带来一篇判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验

下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验):

iOS代码:

/**

 * 银行卡格式校验

 *

 * @param cardNo 银行卡号

 *

 * @return 

 */

+ (BOOL) checkCardNo:(NSString*) cardNo{

  

  

  int oddsum = 0;   //奇数求和

  int evensum = 0;  //偶数求和

  int allsum = 0;

  int cardNoLength = (int)[cardNo length];

  int lastNum = [[cardNo substringFromIndex:cardNoLength-1] intValue];

  

  cardNo = [cardNo substringToIndex:cardNoLength - 1];

  for (int i = cardNoLength -1 ; i>=1;i--) {

    NSString *tmpString = [cardNo substringWithRange:NSMakeRange(i-1, 1)];

    int tmpVal = [tmpString intValue];

    if (cardNoLength % 2 ==1 ) {

      if((i % 2) == 0){

        tmpVal *= 2;

        if(tmpVal>=10)

          tmpVal -= 9;

        evensum += tmpVal;

      }else{

        oddsum += tmpVal;

      }

    }else{

      if((i % 2) == 1){

        tmpVal *= 2;

        if(tmpVal>=10)

          tmpVal -= 9;

        evensum += tmpVal;

      }else{

        oddsum += tmpVal;

      }

    }

  }

  

  allsum = oddsum + evensum;

  allsum += lastNum;

  if((allsum % 10) == 0)

    return YES;

  else

    return NO;

}
Salin selepas log masuk

Androd代码:

/**

 

 * 匹配Luhn算法:可用于检测银行卡卡号

 

 * @param cardNo

 

 * @return

 

 */

 

public static boolean matchLuhn(String cardNo) {

 

  int[] cardNoArr = new int[cardNo.length()];

 

  for (int i=0; i<cardNo.length(); i++) {

 

    cardNoArr[i] = Integer.valueOf(String.valueOf(cardNo.charAt(i)));

 

  }

 

  for(int i=cardNoArr.length-2;i>=0;i-=2) {

 

    cardNoArr[i] <<= 1;

 

    cardNoArr[i] = cardNoArr[i]/10 + cardNoArr[i]%10;

 

  }

 

  int sum = 0;

 

  for(int i=0;i<cardNoArr.length;i++) {

 

    sum += cardNoArr[i];

 

  }

 

  return sum % 10 == 0;

 

}
Salin selepas log masuk

附(银行卡号格式化):

在输入银行卡号过程中,通常,我们会每隔4位插入一个"-",类似"1332-2131-2313-1231-212"这种的格式
可以通过以下方法实现:

设置textField的代理

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

{

  NSString *text = [textField text];

  NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789\b"];

  string = [string stringByReplacingOccurrencesOfString:@"-" withString:@""];

  if ([string rangeOfCharacterFromSet:[characterSet invertedSet]].location != NSNotFound) {

    return NO;

  }

  

  text = [text stringByReplacingCharactersInRange:range withString:string];

  text = [text stringByReplacingOccurrencesOfString:@"-" withString:@""];

  

  NSString *newString = @"";

  while (text.length > 0) {

    NSString *subString = [text substringToIndex:MIN(text.length, 4)];

    newString = [newString stringByAppendingString:subString];

    if (subString.length == 4) {

      newString = [newString stringByAppendingString:@"-"];

    }

    text = [text substringFromIndex:MIN(text.length, 4)];

  }

  

  newString = [newString stringByTrimmingCharactersInSet:[characterSet invertedSet]];

  

  if (newString.length >= 24) {

    return NO;

  }

  

  [textField setText:newString];

  

  return NO;

}
Salin selepas log masuk

最后,怎么获得不包含符号"-"的银行卡号呢?

[self.textField.text stringByReplacingOccurrencesOfString:@"-" withString:@""]

Atas ialah kandungan terperinci 判断用户输入的银行卡号是否正确的方法_正则表达式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Melumpuhkan Panduan Pengalaman Input Win11 Melumpuhkan Panduan Pengalaman Input Win11 Dec 27, 2023 am 11:07 AM

Baru-baru ini, ramai pengguna Win11 menghadapi masalah bahawa kotak dialog pengalaman input sentiasa berkelip dan tidak boleh dimatikan Ini sebenarnya disebabkan oleh perkhidmatan sistem lalai dan komponen Win11 perkhidmatan pengalaman input Selesai, mari kita mencubanya. Cara mematikan pengalaman input dalam win11: Langkah pertama, klik kanan menu mula dan buka "Pengurus Tugasan". mengikut urutan, klik kanan "Tamat Tugas" "Langkah ketiga, buka menu mula, cari dan buka "Perkhidmatan" di bahagian atas. Langkah keempat, cari "Textinp" di dalamnya

Input Windows menemui hang atau penggunaan memori yang tinggi [Betulkan] Input Windows menemui hang atau penggunaan memori yang tinggi [Betulkan] Feb 19, 2024 pm 10:48 PM

Pengalaman input Windows ialah perkhidmatan sistem utama yang bertanggungjawab untuk memproses input pengguna daripada pelbagai peranti antara muka manusia. Ia bermula secara automatik pada permulaan sistem dan berjalan di latar belakang. Walau bagaimanapun, kadangkala perkhidmatan ini mungkin secara automatik menggantung atau menduduki terlalu banyak memori, mengakibatkan prestasi sistem berkurangan. Oleh itu, adalah penting untuk memantau dan mengurus proses ini tepat pada masanya untuk memastikan kecekapan dan kestabilan sistem. Dalam artikel ini, kami akan berkongsi cara untuk membetulkan isu di mana pengalaman input Windows tergantung atau menyebabkan penggunaan memori yang tinggi. Perkhidmatan Pengalaman Input Windows tidak mempunyai antara muka pengguna, tetapi ia berkait rapat dengan pengendalian tugas dan fungsi sistem asas yang berkaitan dengan peranti input. Peranannya adalah untuk membantu sistem Windows memahami setiap input yang dimasukkan oleh pengguna.

Selesaikan masalah input bar carian win11 Selesaikan masalah input bar carian win11 Dec 26, 2023 pm 12:07 PM

Bar carian ialah fungsi yang sangat berguna dalam sistem win11, yang boleh membantu kami mencari tetapan, fungsi dan perkhidmatan yang kami inginkan. Walau bagaimanapun, beberapa rakan telah menghadapi situasi bahawa bar carian win11 tidak boleh dimasukkan Kami boleh mengubah suai data yang berkaitan dalam pendaftaran untuk menyelesaikan masalah tersebut. Perkara yang perlu dilakukan jika anda tidak boleh menaip dalam bar carian win11 1. Mula-mula, kita boleh menekan "win+r" pada papan kekunci untuk membuka larian. 2. Kemudian masukkan "regedit" dan tekan Enter untuk membuka Registry Editor. 3. Kemudian masukkan "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Expl" dalam laluan di atas

Bagaimana untuk memasukkan matriks perkataan Bagaimana untuk memasukkan matriks perkataan Mar 19, 2024 pm 11:00 PM

Matriks adalah formula yang sering kita gunakan dan temui, tetapi adakah anda tahu bagaimana untuk memasukkan matriks dalam perkataan? Mungkin ramai yang tidak pernah didedahkan dan akan berasa keliru apabila menggunakannya Jadi, di sini kami akan berkongsi dengan anda bagaimana untuk memasukkan perkataan matriks. Saya harap perkongsian teknik ini dapat membawa bantuan dan inspirasi kepada anda. 1. Pertama, buat dan buka dokumen perkataan Untuk menunjukkan operasi, kami akan menggunakan dokumen kosong untuk demonstrasi. Seperti yang ditunjukkan dalam rajah di bawah: 2. Jika kita ingin memasukkan matriks, kita perlu mencari butang [Sisipkan] dalam bar menu Butang ini boleh memasukkan banyak pilihan kandungan, seperti gambar, dll., semuanya dari menu ini bar. 3. Selepas mengklik [Sisipkan], lihat di sebelah kanan pilihan alat kami dan anda boleh mencari [Formula], dan kemudian kami klik [

Program C untuk memasukkan tatasusunan jujukan integer yang dipisahkan oleh ruang Program C untuk memasukkan tatasusunan jujukan integer yang dipisahkan oleh ruang Aug 25, 2023 am 11:33 AM

Pernyataan Masalah Tulis program C yang mengambil integer yang diasingkan ruang sebagai input tatasusunan. SampleExamples input 12345 output 'Arrayelementsare-'1,2,3,4,5Terjemahan Cina Explanation ialah: Input penjelasan mengandungi 5 integer yang dipisahkan oleh ruang. Input 997687542356878967343423 Output 'Arrayelementsare-'99,76,87,54,23,56,878,967,34,34,23 Terjemahan Cina bagi Penjelasan ialah: Penjelasan Input mengandungi 11 integer yang dipisahkan oleh ruang. Kaedah 1 Dalam kaedah ini, kami akan menggantikan input dengan kosong

Nota dan Contoh: Cara Memasukkan Nombor Titik Terapung dengan betul dalam Python Nota dan Contoh: Cara Memasukkan Nombor Titik Terapung dengan betul dalam Python Feb 02, 2024 pm 06:34 PM

Nota dan contoh input titik terapung Python Dalam Python, nombor titik terapung ialah jenis data biasa yang digunakan untuk mewakili nilai dengan bahagian perpuluhan. Semasa membuat input titik terapung, terdapat beberapa perkara yang perlu kita ketahui dan beri perhatian untuk memastikan ketepatan dan ketepatan input. Artikel ini akan memperkenalkan beberapa pertimbangan umum dan menyediakan kod sampel untuk memperdalam pemahaman. Kaedah input titik terapung Dalam Python, terdapat banyak kaedah input titik terapung Yang biasa adalah seperti berikut: Gunakan nombor titik terapung secara langsung untuk input: contohnya: x

Panduan Amalan PHP: Bagaimana untuk menentukan sama ada input mengandungi nombor dan huruf sahaja Panduan Amalan PHP: Bagaimana untuk menentukan sama ada input mengandungi nombor dan huruf sahaja Mar 28, 2024 pm 03:06 PM

Dalam pengaturcaraan PHP, kadangkala kita perlu mengehadkan input data oleh pengguna, seperti menentukan sama ada input hanya mengandungi nombor dan huruf. Ini sering ditemui dalam pembangunan projek sebenar, jadi sangat penting untuk menguasai cara melaksanakan fungsi ini. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menentukan bahawa input hanya mengandungi nombor dan huruf, dan memberikan contoh kod tertentu. Mengapa anda perlu menentukan bahawa input hanya mengandungi nombor dan huruf? Dalam pembangunan laman web, data yang dimasukkan oleh pengguna boleh digunakan untuk fungsi penting seperti operasi pangkalan data dan operasi fail Jika data yang dimasukkan oleh pengguna mengandungi khas

Bank of Korea merancang untuk melancarkan perintis mata wang digital tahun depan dengan 100,000 rakyat mengambil bahagian Bank of Korea merancang untuk melancarkan perintis mata wang digital tahun depan dengan 100,000 rakyat mengambil bahagian Dec 02, 2023 am 09:25 AM

Menurut berita dari laman web ini pada 2 Disember, sehari selepas Pengurus Besar Bank for International Settlements Agustín Carstens melawat Seoul, Bank of Korea (BOK) mengumumkan butiran pelan perintis mata wang digital (CBDC), menyatakan bahawa akan ada 10 Sepuluh ribuan rakyat Korea Selatan terpilih akan menyertai juruterbang pada suku keempat tahun depan. Laman web ini mendapati bahawa peserta boleh menggunakan CBDC yang dikeluarkan oleh bank perdagangan untuk membeli barangan. Bank of Korea, Suruhanjaya Perkhidmatan Kewangan dan Perkhidmatan Penyeliaan Kewangan merancang untuk mencadangkan tugas perintis bersama untuk bank yang mengambil bahagian dalam ujian dan mengasingkan tugas berasingan untuk setiap bank selepas berunding dengan organisasi berkaitan dan menyemak undang-undang yang berkaitan. Bank pusat berkata mata wang digital boleh menyelesaikan masalah dengan sistem baucar sedia ada, seperti yang digunakan semasa COVID-19 atau sistem pemberian penjagaan anak kerajaan. Sumber

See all articles