Generalmente (en India) hay seis dígitos en un número de cheque (si algún banco tiene un patrón de números diferente, entonces no lo sé). No sé si hay alguna otra restricción en los dígitos o no, como que el primer dígito puede ser 'cero' o no. Qué regEx u otro método debo usar para verificar que el número de cheque ingresado en el formulario HTML sea válido o no. No conozco bien las expresiones regulares. No da falso para un número de cheque a partir de 0.
Podría ir con uno de los siguientes, pero ¿cuál es el mejor?
var chequeNos1 = ['111101', '222212', '234330', '044400']; var chequeNos2 = ['111101', '222212', '234330', '444400']; var chequeNos3 = ['111101', '222212', '234330', '44400']; console.log(validateChequeNumbers(chequeNos1)) console.log(validateChequeNumbersByRegEx(chequeNos1)) console.log(validateChequeNumbers(chequeNos2)) console.log(validateChequeNumbersByRegEx(chequeNos2)) console.log(validateChequeNumbers(chequeNos3)) console.log(validateChequeNumbersByRegEx(chequeNos3)) function validateChequeNumbers(chequeNos){ var areAllChequeNosValid = chequeNos.every(chequeNo =>{ // console.log(100000 <= parseInt(chequeNo) && parseInt(chequeNo) <= 999999); return 100000 <= parseInt(chequeNo) && parseInt(chequeNo) <= 999999; }) return areAllChequeNosValid; } function validateChequeNumbersByRegEx(chequeNos){ var areAllChequeNosValid = chequeNos.every(chequeNo =>{ var validateReg = /^\d{6}$/; // console.log(chequeNo.match(validateReg)); if(chequeNo.match(validateReg)){ return true; }else{ return false; } }) return areAllChequeNosValid; }Lo animo a usar el enfoque de expresiones regulares y también a eliminar la prueba de validación del análisis del documento. De esa manera, puede crear pruebas unitarias que verifiquen la lógica de validación de forma independiente.
Algo como:
const chequeNumbers = [ '012345', '123456', '234567', '345678' ]; const chequeNumberRE = /^\d{6}$/; const validateChequeNumbers = checkNumbers => ( chequeNumbers.every(chequeNumber => chequeNumberRE.test(chequeNumber)) ) validateChequeNumbers(chequeNumbers)Luego llame a su función algo así como validarChequeNumbersFromDocument o similar.
Tenga en cuenta: los números de cheque indios pueden comenzar con cualquier dígito, no solo con cero.