Guest User

validacao ie

a guest
Aug 18th, 2014
241
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*Validação ie*/
  2.  
  3. var OrdZero = '0'.charCodeAt(0);
  4.  
  5. function CharToInt(ch)
  6. {
  7. return ch.charCodeAt(0) - OrdZero;
  8. }
  9.  
  10. function IntToChar(intt)
  11. {
  12. return String.fromCharCode(intt + OrdZero);
  13. }
  14.  
  15. function CheckIEAC(ie){
  16. if (ie.length != 13)
  17. return false;
  18. var b = 4, soma = 0;
  19.  
  20. for (var i = 0; i <= 10; i++)
  21. {
  22. soma += CharToInt(ie.charAt(i)) * b;
  23. --b;
  24. if (b == 1) { b = 9; }
  25. }
  26. dig = 11 - (soma % 11);
  27. if (dig >= 10) { dig = 0; }
  28. resultado = (IntToChar(dig) == ie.charAt(11));
  29. if (!resultado) { return false; }
  30.  
  31. b = 5;
  32. soma = 0;
  33. for (var i = 0; i <= 11; i++)
  34. {
  35. soma += CharToInt(ie.charAt(i)) * b;
  36. --b;
  37. if (b == 1) { b = 9; }
  38. }
  39. dig = 11 - (soma % 11);
  40. if (dig >= 10) { dig = 0; }
  41. if (IntToChar(dig) == ie.charAt(12)) { return true; } else { return false; }
  42. } //AC
  43.  
  44. function CheckIEAL(ie)
  45. {
  46. if (ie.length != 9)
  47. return false;
  48. var b = 9, soma = 0;
  49. for (var i = 0; i <= 7; i++)
  50. {
  51. soma += CharToInt(ie.charAt(i)) * b;
  52. --b;
  53. }
  54. soma *= 10;
  55. dig = soma - Math.floor(soma / 11) * 11;
  56. if (dig == 10) { dig = 0; }
  57. return (IntToChar(dig) == ie.charAt(8));
  58. } //AL
  59.  
  60. function CheckIEAM(ie)
  61. {
  62. if (ie.length != 9)
  63. return false;
  64. var b = 9, soma = 0;
  65. for (var i = 0; i <= 7; i++)
  66. {
  67. soma += CharToInt(ie.charAt(i)) * b;
  68. b--;
  69. }
  70. if (soma < 11) { dig = 11 - soma; }
  71. else {
  72. i = soma % 11;
  73. if (i <= 1) { dig = 0; } else { dig = 11 - i; }
  74. }
  75. return (IntToChar(dig) == ie.charAt(8));
  76. } //am
  77.  
  78. function CheckIEAP(ie)
  79. {
  80. if (ie.length != 9)
  81. return false;
  82. var p = 0, d = 0, i = ie.substring(1, 8);
  83. if ((i >= 3000001) && (i <= 3017000))
  84. {
  85. p =5;
  86. d = 0;
  87. }
  88. else if ((i >= 3017001) && (i <= 3019022))
  89. {
  90. p = 9;
  91. d = 1;
  92. }
  93. b = 9;
  94. soma = p;
  95. for (var i = 0; i <= 7; i++)
  96. {
  97. soma += CharToInt(ie.charAt(i)) * b;
  98. b--;
  99. }
  100. dig = 11 - (soma % 11);
  101. if (dig == 10)
  102. {
  103. dig = 0;
  104. }
  105. else if (dig == 11)
  106. {
  107. dig = d;
  108. }
  109. return (IntToChar(dig) == ie.charAt(8));
  110. } //ap
  111.  
  112. function CheckIEBA(ie)
  113. {
  114. if (ie.length != 8)
  115. return false;
  116. die = ie.substring(0, 8);
  117. var nro = new Array(8);
  118. var dig = -1;
  119. for (var i = 0; i <= 7; i++)
  120. {
  121. nro[i] = CharToInt(die.charAt(i));
  122. }
  123. var NumMod = 0;
  124. if (String(nro[0]).match(/[0123458]/))
  125. NumMod = 10;
  126. else
  127. NumMod = 11;
  128. b = 7;
  129. soma = 0;
  130. for (i = 0; i <= 5; i++)
  131. {
  132. soma += nro[i] * b;
  133. b--;
  134. }
  135. i = soma % NumMod;
  136. if (NumMod == 10)
  137. {
  138. if (i == 0) { dig = 0; } else { dig = NumMod - i; }
  139. }
  140. else
  141. {
  142. if (i <= 1) { dig = 0; } else { dig = NumMod - i; }
  143. }
  144. resultado = (dig == nro[7]);
  145. if (!resultado) { return false; }
  146. b = 8;
  147. soma = 0;
  148. for (i = 0; i <= 5; i++)
  149. {
  150. soma += nro[i] * b;
  151. b--;
  152. }
  153. soma += nro[7] * 2;
  154. i = soma % NumMod;
  155. if (NumMod == 10)
  156. {
  157. if (i == 0) { dig = 0; } else { dig = NumMod - i; }
  158. }
  159. else
  160. {
  161. if (i <= 1) { dig = 0; } else { dig = NumMod - i; }
  162. }
  163. return (dig == nro[6]);
  164. } //ba
  165.  
  166. function CheckIECE(ie)
  167. {
  168. if (ie.length > 9)
  169. return false;
  170. die = ie;
  171. if (ie.length < 9)
  172. {
  173. while (die.length <= 8)
  174. die = '0' + die;
  175. }
  176. var nro = Array(9);
  177. for (var i = 0; i <= 8; i++)
  178. nro[i] = CharToInt(die[i]);
  179. b = 9;
  180. soma = 0;
  181. for (i = 0; i <= 7; i++)
  182. {
  183. soma += nro[i] * b;
  184. b--;
  185. }
  186. dig = 11 - (soma % 11);
  187. if (dig >= 10)
  188. dig = 0;
  189. return (dig == nro[8]);
  190. } //ce
  191.  
  192. function CheckIEDF(ie)
  193. {
  194. if (ie.length != 13)
  195. return false;
  196. var nro = new Array(13);
  197. for (var i = 0; i <= 12; i++)
  198. nro[i] = CharToInt(ie.charAt(i));
  199. b = 4;
  200. soma = 0;
  201. for (i = 0; i <= 10; i++)
  202. {
  203. soma += nro[i] * b;
  204. b--;
  205. if (b == 1)
  206. b = 9;
  207. }
  208. dig = 11 - (soma % 11);
  209. if (dig >= 10)
  210. dig = 0;
  211. resultado = (dig == nro[11]);
  212. if (!resultado)
  213. return false;
  214. b = 5;
  215. soma = 0;
  216. for (i = 0; i <= 11; i++)
  217. {
  218. soma += nro[i] * b;
  219. b--;
  220. if (b == 1)
  221. b = 9;
  222. }
  223. dig = 11 - (soma % 11);
  224. if (dig >= 10)
  225. dig = 0;
  226. return (dig == nro[12]);
  227. }
  228. // CHRISTOPHE T. C. <wG @ codingz.info>
  229. function CheckIEES(ie)
  230. {
  231. if (ie.length != 9)
  232. return false;
  233. var nro = new Array(9);
  234. for (var i = 0; i <= 8; i++)
  235. nro[i] = CharToInt(ie.charAt(i));
  236. b = 9;
  237. soma = 0;
  238. for (i = 0; i <= 7; i++)
  239. {
  240. soma += nro[i] * b;
  241. b--;
  242. }
  243. i = soma % 11;
  244. if (i < 2)
  245. dig = 0;
  246. else
  247. dig = 11 - i;
  248. return (dig == nro[8]);
  249. }
  250.  
  251. function CheckIEGO(ie)
  252. {
  253. if (ie.length != 9)
  254. return false;
  255. s = ie.substring(0, 2);
  256. if ((s == '10') || (s == '11') || (s == '15'))
  257. {
  258. var nro = new Array(9);
  259. for (var i = 0; i <= 8; i++)
  260. nro[i] = CharToInt(ie.charAt(i));
  261. n = Math.floor(ie / 10);
  262. if (n = 11094402)
  263. {
  264. if ((nro[8] == 0) || (nro[8] == 1))
  265. return true;
  266. }
  267. b = 9;
  268. soma = 0;
  269. for (i = 0; i <= 7; i++)
  270. {
  271. soma += nro[i] * b;
  272. b--;
  273. }
  274. i = soma % 11;
  275. if (i == 0)
  276. dig = 0;
  277. else
  278. {
  279. if (i == 1)
  280. {
  281. if ((n >= 10103105) && (n <= 10119997))
  282. dig = 1;
  283. else
  284. dig = 0;
  285. }
  286. else
  287. dig = 11 - i;
  288. }
  289. return (dig == nro[8]);
  290. }
  291. }
  292.  
  293. function CheckIEMA(ie)
  294. {
  295. if (ie.length != 9)
  296. return false;
  297. var nro = new Array(9);
  298. for (var i = 0; i <= 8; i++)
  299. nro[i] = CharToInt(ie.charAt(i));
  300. b = 9;
  301. soma = 0;
  302. for (i = 0; i <= 7; i++)
  303. {
  304. soma += nro[i] * b;
  305. b--;
  306. }
  307. i = soma % 11;
  308. if (i <= 1)
  309. dig = 0;
  310. else
  311. dig = 11 - i;
  312. return (dig == nro[8]);
  313. }
  314.  
  315. function CheckIEMT(ie)
  316. {
  317. if (ie.length < 9)
  318. return false;
  319. die = ie;
  320. if (die.length < 11)
  321. {
  322. while (die.length <= 10)
  323. die = '0' + die;
  324. var nro = new Array(11);
  325. for (var i = 0; i <= 10; i++)
  326. nro[i] = CharToInt(die[i]);
  327. b = 3;
  328. soma = 0;
  329. for (i = 0; i <= 9; i++)
  330. {
  331. soma += nro[i] * b;
  332. b--;
  333. if (b == 1)
  334. b = 9;
  335. }
  336. i = soma % 11;
  337. if (i <= 1)
  338. dig = 0;
  339. else
  340. dig = 11 - i;
  341. return (dig == nro[10]);
  342. }
  343. } //muito
  344.  
  345. function CheckIEMS(ie)
  346. {
  347. if (ie.length != 9)
  348. return false;
  349. if (ie.substring(0,2) != '28')
  350. return false;
  351. var nro = new Array(9);
  352. for (var i = 0; i <= 8; i++)
  353. nro[i] = CharToInt(ie.charAt(i));
  354. b = 9;
  355. soma = 0;
  356. for (i = 0; i <= 7; i++)
  357. {
  358. soma += nro[i] * b;
  359. b--;
  360. }
  361. i = soma % 11;
  362. if (i <= 1)
  363. dig = 0;
  364. else
  365. dig = 11 - i;
  366. return (dig == nro[8]);
  367. } //ms
  368.  
  369. function CheckIEPA(ie)
  370. {
  371. if (ie.length != 9)
  372. return false;
  373. if (ie.substring(0, 2) != '15')
  374. return false;
  375. var nro = new Array(9);
  376. for (var i = 0; i <= 8; i++)
  377. nro[i] = CharToInt(ie.charAt(i));
  378. b = 9;
  379. soma = 0;
  380. for (i = 0; i <= 7; i++)
  381. {
  382. soma += nro[i] * b;
  383. b--;
  384. }
  385. i = soma % 11;
  386. if (i <= 1)
  387. dig = 0;
  388. else
  389. dig = 11 - i;
  390. return (dig == nro[8]);
  391. } //pra
  392.  
  393. function CheckIEPB(ie)
  394. {
  395. if (ie.length != 9)
  396. return false;
  397. var nro = new Array(9);
  398. for (var i = 0; i <= 8; i++)
  399. nro[i] = CharToInt(ie.charAt(i));
  400. b = 9;
  401. soma = 0;
  402. for (i = 0; i <= 7; i++)
  403. {
  404. soma += nro[i] * b;
  405. b--;
  406. }
  407. i = soma % 11;
  408. if (i <= 1)
  409. dig = 0;
  410. else
  411. dig = 11 - i;
  412. return (dig == nro[8]);
  413. } //pb
  414.  
  415. function CheckIEPR(ie)
  416. {
  417. if (ie.length != 10)
  418. return false;
  419. var nro = new Array(10);
  420. for (var i = 0; i <= 9; i++)
  421. nro[i] = CharToInt(ie.charAt(i));
  422. b = 3;
  423. soma = 0;
  424. for (i = 0; i <= 7; i++)
  425. {
  426. soma += nro[i] * b;
  427. b--;
  428. if (b == 1)
  429. b = 7;
  430. }
  431. i = soma % 11;
  432. if (i <= 1)
  433. dig = 0;
  434. else
  435. dig = 11 - i;
  436. resultado = (dig == nro[8]);
  437. if (!resultado)
  438. return false;
  439. b = 4;
  440. soma = 0;
  441. for (i = 0; i <= 8; i++)
  442. {
  443. soma += nro[i] * b;
  444. b--;
  445. if (b == 1)
  446. b = 7;
  447. }
  448. i = soma % 11;
  449. if (i <= 1)
  450. dig = 0;
  451. else
  452. dig = 11 - i;
  453. return (dig == nro[9]);
  454. } //pr
  455.  
  456. function CheckIEPE(ie)
  457. {
  458. if (ie.length != 14)
  459. return false;
  460. var nro = new Array(14);
  461. for (var i = 0; i <= 13; i++)
  462. nro[i] = CharToInt(ie.charAt(i));
  463. b = 5;
  464. soma = 0;
  465. for (i = 0; i <= 12; i++)
  466. {
  467. soma += nro[i] * b;
  468. b--;
  469. if (b == 0)
  470. b = 9;
  471. }
  472. dig = 11 - (soma % 11);
  473. if (dig > 9)
  474. dig = dig - 10;
  475. return (dig == nro[13]);
  476. } //pe
  477.  
  478. function CheckIEPI(ie)
  479. {
  480. if (ie.length != 9)
  481. return false;
  482. var nro = new Array(9);
  483. for (var i = 0; i <= 8; i++)
  484. nro[i] = CharToInt(ie.charAt(i));
  485. b = 9;
  486. soma = 0;
  487. for (i = 0; i <= 7; i++)
  488. {
  489. soma += nro[i] * b;
  490. b--;
  491. }
  492. i = soma % 11;
  493. if (i <= 1)
  494. dig = 0;
  495. else
  496. dig = 11 - i;
  497. return (dig == nro[8]);
  498. } //pi
  499.  
  500. function CheckIERJ(ie)
  501. {
  502. if (ie.length != 8)
  503. return false;
  504. var nro = new Array(8);
  505. for (var i = 0; i <= 7; i++)
  506. nro[i] = CharToInt(ie.charAt(i));
  507. b = 2;
  508. soma = 0;
  509. for (i = 0; i <= 6; i++)
  510. {
  511. soma += nro[i] * b;
  512. b--;
  513. if (b == 1)
  514. b = 7;
  515. }
  516. i = soma % 11;
  517. if (i <= 1)
  518. dig = 0;
  519. else
  520. dig = 11 - i;
  521. return (dig == nro[7]);
  522. } //rj
  523. // CHRISTOPHE T. C. <wG @ codingz.info>
  524. function CheckIERN(ie)
  525. {
  526. if (ie.length != 9)
  527. return false;
  528. var nro = new Array(9);
  529. for (var i = 0; i <= 8; i++)
  530. nro[i] = CharToInt(ie.charAt(i));
  531. b = 9;
  532. soma = 0;
  533. for (i = 0; i <= 7; i++)
  534. {
  535. soma += nro[i] * b;
  536. b--;
  537. }
  538. soma *= 10;
  539. dig = soma % 11;
  540. if (dig == 10)
  541. dig = 0;
  542. return (dig == nro[8]);
  543. } //rn
  544.  
  545. function CheckIERS(ie)
  546. {
  547. if (ie.length != 10)
  548. return false;
  549. i = ie.substring(0, 3);
  550. if ((i >= 1) && (i <= 467))
  551. {
  552. var nro = new Array(10);
  553. for (var i = 0; i <= 9; i++)
  554. nro[i] = CharToInt(ie.charAt(i));
  555. b = 2;
  556. soma = 0;
  557. for (i = 0; i <= 8; i++)
  558. {
  559. soma += nro[i] * b;
  560. b--;
  561. if (b == 1)
  562. b = 9;
  563. }
  564. dig = 11 - (soma % 11);
  565. if (dig >= 10)
  566. dig = 0;
  567. return (dig == nro[9]);
  568. } //if i&&i
  569. } //rs
  570.  
  571.  
  572.  
  573.  
  574. function CheckIEROantigo(ie)
  575. {
  576. if (ie.length != 9) {
  577. return false;
  578. }
  579.  
  580. var nro = new Array(9);
  581. b=6;
  582. soma =0;
  583.  
  584. for( var i = 3; i <= 8; i++) {
  585.  
  586. nro[i] = CharToInt(ie.charAt(i));
  587.  
  588. if( i != 8 ) {
  589. soma = soma + ( nro[i] * b );
  590. b--;
  591. }
  592.  
  593. }
  594.  
  595. dig = 11 - (soma % 11);
  596. if (dig >= 10)
  597. dig = dig - 10;
  598.  
  599. return (dig == nro[8]);
  600.  
  601. } //ro-antiga
  602.  
  603.  
  604.  
  605.  
  606.  
  607. function CheckIERO(ie)
  608. {
  609.  
  610. if (ie.length != 14) {
  611. return false;
  612. }
  613.  
  614. var nro = new Array(14);
  615. b=6;
  616. soma=0;
  617.  
  618. for(var i=0; i <= 4; i++) {
  619.  
  620. nro[i] = CharToInt(ie.charAt(i));
  621.  
  622.  
  623. soma = soma + ( nro[i] * b );
  624. b--;
  625.  
  626. }
  627.  
  628. b=9;
  629. for(var i=5; i <= 13; i++) {
  630.  
  631. nro[i] = CharToInt(ie.charAt(i));
  632.  
  633. if ( i != 13 ) {
  634. soma = soma + ( nro[i] * b );
  635. b--;
  636. }
  637.  
  638. }
  639.  
  640. dig = 11 - ( soma % 11);
  641.  
  642. if (dig >= 10)
  643. dig = dig - 10;
  644.  
  645. return(dig == nro[13]);
  646.  
  647. } //ro nova
  648.  
  649.  
  650.  
  651.  
  652.  
  653. function CheckIERR(ie)
  654. {
  655. if (ie.length != 9)
  656. return false;
  657. if (ie.substring(0,2) != '24')
  658. return false;
  659. var nro = new Array(9);
  660. for (var i = 0; i <= 8; i++)
  661. nro[i] = CharToInt(ie.charAt(i));
  662. var soma = 0;
  663. var n = 0;
  664. for (i = 0; i <= 7; i++)
  665. soma += nro[i] * ++n;
  666. dig = soma % 9;
  667. return (dig == nro[8]);
  668. } //rr
  669.  
  670. function CheckIESC(ie)
  671. {
  672. if (ie.length != 9)
  673. return false;
  674. var nro = new Array(9);
  675. for (var i = 0; i <= 8; i++)
  676. nro[i] = CharToInt(ie.charAt(i));
  677. b = 9;
  678. soma = 0;
  679. for (i = 0; i <= 7; i++)
  680. {
  681. soma += nro[i] * b;
  682. b--;
  683. }
  684. i = soma % 11;
  685. if (i <= 1)
  686. dig = 0;
  687. else
  688. dig = 11 - i;
  689. return (dig == nro[8]);
  690. } //sc
  691.  
  692. // CHRISTOPHE T. C. <wG @ codingz.info>
  693.  
  694. function CheckIESP(ie)
  695. {
  696. if (((ie.substring(0,1)).toUpperCase()) == 'P')
  697. {
  698. s = ie.substring(1, 9);
  699. var nro = new Array(12);
  700. for (var i = 0; i <= 7; i++)
  701. nro[i] = CharToInt(s[i]);
  702. soma = (nro[0] * 1) + (nro[1] * 3) + (nro[2] * 4) + (nro[3] * 5) +
  703. (nro[4] * 6) + (nro[5] * 7) + (nro[6] * 8) + (nro[7] * 10);
  704. dig = soma % 11;
  705. if (dig >= 10)
  706. dig = 0;
  707. resultado = (dig == nro[8]);
  708. if (!resultado)
  709. return false;
  710. }
  711. else
  712. {
  713. if (ie.length < 12)
  714. return false;
  715. var nro = new Array(12);
  716. for (var i = 0; i <= 11; i++)
  717. nro[i] = CharToInt(ie.charAt(i));
  718. soma = (nro[0] * 1) + (nro[1] * 3) + (nro[2] * 4) + (nro[3] * 5) +
  719. (nro[4] * 6) + (nro[5] * 7) + (nro[6] * 8) + (nro[7] * 10);
  720. dig = soma % 11;
  721. if (dig >= 10)
  722. dig = 0;
  723. resultado = (dig == nro[8]);
  724. if (!resultado)
  725. return false;
  726. soma = (nro[0] * 3) + (nro[1] * 2) + (nro[2] * 10) + (nro[3] * 9) +
  727. (nro[4] * 8) + (nro[5] * 7) + (nro[6] * 6) + (nro[7] * 5) +
  728. (nro[8] * 4) + (nro[9] * 3) + (nro[10] * 2);
  729. dig = soma % 11;
  730. if (dig >= 10)
  731. dig = 0;
  732. return (dig == nro[11]);
  733. }
  734. } //sp
  735.  
  736. function CheckIESE(ie)
  737. {
  738. if (ie.length != 9)
  739. return false;
  740. var nro = new Array(9);
  741. for (var i = 0; i <= 8; i++)
  742. nro[i] = CharToInt(ie.charAt(i));
  743. b = 9;
  744. soma = 0;
  745. for (i = 0; i <= 7; i++)
  746. {
  747. soma += nro[i] * b;
  748. b--;
  749. }
  750. dig = 11 - (soma % 11);
  751. if (dig >= 10)
  752. dig = 0;
  753. return (dig == nro[8]);
  754. } //se
  755.  
  756.  
  757.  
  758. function CheckIETO(ie)
  759. {
  760. if (ie.length != 9) {
  761. return false;
  762. }
  763.  
  764. var nro = new Array(9);
  765. b=9;
  766. soma=0;
  767.  
  768. for (var i=0; i <= 8; i++ ) {
  769.  
  770. nro[i] = CharToInt(ie.charAt(i));
  771.  
  772. if(i != 8) {
  773. soma = soma + ( nro[i] * b );
  774. b--;
  775. }
  776.  
  777.  
  778. }
  779.  
  780. ver = soma % 11;
  781.  
  782. if ( ver < 2 )
  783.  
  784. dig=0;
  785.  
  786. if ( ver >= 2 )
  787. dig = 11 - ver;
  788.  
  789. return(dig == nro[8]);
  790. } //to
  791.  
  792.  
  793.  
  794.  
  795.  
  796. //inscrição estadual antiga
  797. function CheckIETOantigo(ie)
  798. {
  799.  
  800. if ( ie.length != 11 ) {
  801. return false;
  802.  
  803. }
  804.  
  805.  
  806. var nro = new Array(11);
  807. b=9;
  808. soma=0;
  809.  
  810. s = ie.substring(2, 4);
  811.  
  812. if( s != '01' || s != '02' || s != '03' || s != '99' ) {
  813.  
  814.  
  815. for ( var i=0; i <= 10; i++)
  816. {
  817.  
  818. nro[i] = CharToInt(ie.charAt(i));
  819.  
  820. if( i != 3 || i != 4) {
  821.  
  822. soma = soma + ( nro[i] * b );
  823. b--;
  824.  
  825. } // if ( i != 3 || i != 4 )
  826.  
  827. } //fecha for
  828.  
  829.  
  830. resto = soma % 11;
  831.  
  832. if( resto < 2 ) {
  833.  
  834. dig = 0;
  835.  
  836. }
  837.  
  838.  
  839. if ( resto >= 2 ) {
  840.  
  841. dig = 11 - resto;
  842.  
  843. }
  844.  
  845. return (dig == nro[10]);
  846.  
  847. } // fecha if
  848.  
  849.  
  850. }//fecha função CheckIETOantiga
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857. function CheckIEMG(ie)
  858. {
  859. if (ie.substring(0,2) == 'PR')
  860. return true;
  861. if (ie.substring(0,5) == 'ISENT')
  862. return true;
  863. if (ie.length != 13)
  864. return false;
  865. dig1 = ie.substring(11, 12);
  866. dig2 = ie.substring(12, 13);
  867. inscC = ie.substring(0, 3) + '0' + ie.substring(3, 11);
  868. insc=inscC.split('');
  869. npos = 11;
  870. i = 1;
  871. ptotal = 0;
  872. psoma = 0;
  873. while (npos >= 0)
  874. {
  875. i++;
  876. psoma = CharToInt(insc[npos]) * i;
  877. if (psoma >= 10)
  878. psoma -= 9;
  879. ptotal += psoma;
  880. if (i == 2)
  881. i = 0;
  882. npos--;
  883. }
  884. nresto = ptotal % 10;
  885. if (nresto == 0)
  886. nresto = 10;
  887. nresto = 10 - nresto;
  888. if (nresto != CharToInt(dig1))
  889. return false;
  890. npos = 11;
  891. i = 1;
  892. ptotal = 0;
  893. is=ie.split('');
  894. while (npos >= 0)
  895. {
  896. i++;
  897. if (i == 12)
  898. i = 2;
  899. ptotal += CharToInt(is[npos]) * i;
  900. npos--;
  901. }
  902. nresto = ptotal % 11;
  903. if ((nresto == 0) || (nresto == 1))
  904. nresto = 11;
  905. nresto = 11 - nresto;
  906. return (nresto == CharToInt(dig2));
  907. }
  908.  
  909.  
  910.  
  911.  
  912.  
  913. function CheckIE(ie, estado)
  914. {
  915. ie = ie.replace(/\./g, '');
  916. ie = ie.replace(/\\/g, '');
  917. ie = ie.replace(/\-/g, '');
  918. ie = ie.replace(/\//g, '');
  919. if ( ie == 'ISENTO')
  920. return true;
  921. switch (estado)
  922. {
  923. case 'MG': return CheckIEMG(ie); break;
  924. case 'AC': return CheckIEAC(ie); break;
  925. case 'AL': return CheckIEAL(ie); break;
  926. case 'AM': return CheckIEAM(ie); break;
  927. case 'AP': return CheckIEAP(ie); break;
  928. case 'BA': return CheckIEBA(ie); break;
  929. case 'CE': return CheckIECE(ie); break;
  930. case 'DF': return CheckIEDF(ie); break;
  931. case 'ES': return CheckIEES(ie); break;
  932. case 'GO': return CheckIEGO(ie); break;
  933. case 'MA': return CheckIEMA(ie); break;
  934. case 'muito': return CheckIEMT(ie); break;
  935. case 'MS': return CheckIEMS(ie); break;
  936. case 'pra': return CheckIEPA(ie); break;
  937. case 'PB': return CheckIEPB(ie); break;
  938. case 'PR': return CheckIEPR(ie); break;
  939. case 'PE': return CheckIEPE(ie); break;
  940. case 'PI': return CheckIEPI(ie); break;
  941. case 'RJ': return CheckIERJ(ie); break;
  942. case 'RN': return CheckIERN(ie); break;
  943. case 'RS': return CheckIERS(ie); break;
  944. case 'RO': return ((CheckIERO(ie)) || (CheckIEROantigo(ie))); break;
  945. case 'RR': return CheckIERR(ie); break;
  946. case 'SC': return CheckIESC(ie); break;
  947. case 'SP': return CheckIESP(ie); break;
  948. case 'SE': return CheckIESE(ie); break;
  949. case 'TO': return ((CheckIETO(ie)) || (CheckIETOantigo(ie))); break;//return CheckIETO(ie); break;
  950. }
  951. }
RAW Paste Data