Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

131
Views
Convierta el código PHP de dígitos de autocomprobación de Modulus 11 a JavaScript

Uso del módulo PHP de dígitos de autocomprobación Modulus 11.

http://www.eclectica.ca/howto/modulus-11-self-check.php

 function GenMOD11( $base_val ) { $result = ""; $weight = array( 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7 ); $reversed_base_val = strrev( $base_val ); for ( $i = 0, $sum = 0; $i < strlen( $reversed_base_val ); $i++ ) { $sum += substr( $reversed_base_val, $i, 1 ) * $weight[ $i ]; } $remainder = $sum % 11; switch ( $remainder ) { case 0: $result = $base_val . 0; break; case 1: $result = "n/a"; break; default: $check_digit = 11 - $remainder; $result = $base_val . $check_digit; break; } return $result; }

Atar convertir código php a JavaScript. Este es mi código, pero no da el resultado correcto:

 <script type='text/javascript'> jQuery(document).ready(function($) { function GenMOD11F( base_val ) { var result = ""; var weight = [ 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7 ]; var reversed_base_val = parseInt(base_val.toString().split('').reverse().join('')); var i, sum; for ( i = 0, sum = 0; i < reversed_base_val.length; i++ ) { sum += reversed_base_val.substring(i, 1) * weight[i]; } var remainder = sum % 11; switch ( remainder) { case 0: result = base_val+0; break; case 1: result = "n/a"; break; default: var check_digit = 11 - remainder; result = base_val.check_digit; break; } return result; } }); </script>

por ej. Al usar la función php

GenMOD11 (123240657) da 1232406573

Usando JavaScript GenMOD11 (123240657) da 123240657

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Este código debería darte el resultado requerido.

Algunas notas:

  • Convertimos la entrada a cadena inmediatamente para asegurarnos de que el resto del código funcione correctamente.
  • En lugar de invertir la cadena variable base_val, la convertimos en una matriz y la dejamos como tal, esto simplifica el resto del código.

 function GenMOD11(base_val) { base_val = String(base_val); const weight = [ 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7 ]; const reversed_base_val = [...base_val].reverse(); let sum = 0; for(let i = 0; i < reversed_base_val.length; i++) { sum += reversed_base_val[i] * weight[i]; } const remainder = sum % 11; switch ( remainder ) { case 0: return base_val + 0; case 1: return "n/a"; default: check_digit = 11 - remainder; return base_val + check_digit; } } const testInputs = [123240657, 31, 445, 5800]; for(let input of testInputs) { console.log(`GenMOD11(${input}):`, GenMOD11(input)) }
 .as-console-wrapper { max-height: 100% !important; }

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!