ನಮ್ಮ ಸರಳ ಸಾಧನದೊಂದಿಗೆ ಯಾದೃಚ್ಛಿಕವಾಗಿ ರೂಪಾನುಕೂಲವಾದ IBANಗಳನ್ನು ರಚಿಸಿ ಅಥವಾ ಇತ್ತೀಚಿನ IBANಗಳನ್ನು ಮಾನ್ಯಗೊಳಿಸಿ. ಹಣಕಾಸು ಅಪ್ಲಿಕೇಶನ್ಗಳು, ಬ್ಯಾಂಕಿಂಗ್ ಸಾಫ್ಟ್ವೇರ್ ಮತ್ತು ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗೆ ಪರಿಪೂರ್ಣ.
ಅಂತಾರಾಷ್ಟ್ರೀಯ ಬ್ಯಾಂಕ್ ಖಾತೆ ಸಂಖ್ಯೆಯ (IBAN) ಜನರೇಟರ್ ಮತ್ತು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಸಾಧನವು ಹಣಕಾಸು ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ, ಬ್ಯಾಂಕಿಂಗ್ ಸಾಫ್ಟ್ವೇರ್ಗಳಲ್ಲಿ ಮತ್ತು ಶೈಕ್ಷಣಿಕ ಸಂದರ್ಭಗಳಲ್ಲಿ ಪರೀಕ್ಷೆ ಮತ್ತು ದೃಢೀಕರಣ ಉದ್ದೇಶಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಸಮಗ್ರ ಸಾಧನವಾಗಿದೆ. ಈ ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಅಪ್ಲಿಕೇಶನ್ ಎರಡು ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ: ಯಾದೃಚ್ಛಿಕ ಆದರೆ ರೂಪಾಂತರಕ್ಕೆ ಅನುಗುಣವಾದ IBANಗಳನ್ನು ಜನರೇಟ್ ಮಾಡುವುದು ಮತ್ತು ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ ಮಾಡಿದ IBANಗಳ ರಚನಾ ಶ್ರೇಣಿಯನ್ನು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಮಾಡುವುದು. ನೀವು ಹಣಕಾಸು ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುತ್ತಿರುವ ಡೆವೆಲಪರ್ ಆಗಿರಬಹುದು, ಬ್ಯಾಂಕಿಂಗ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ದೃಢೀಕರಿಸುತ್ತಿರುವ QA ತಜ್ಞರಾಗಿರಬಹುದು ಅಥವಾ ಅಂತಾರಾಷ್ಟ್ರೀಯ ಬ್ಯಾಂಕಿಂಗ್ ಮಾನದಂಡಗಳನ್ನು ವಿವರಿಸುತ್ತಿರುವ ಶಿಕ್ಷಕರಾಗಿರಬಹುದು, ಈ ಸಾಧನವು ಸಂಕೀರ್ಣ ಸಂರಚನೆಗಳು ಅಥವಾ ತೃತೀಯ ಪಕ್ಷದ ಏಕೀಕರಣಗಳನ್ನು ಅಗತ್ಯವಿಲ್ಲದೆ ಸರಳ ಪರಿಹಾರವನ್ನು ನೀಡುತ್ತದೆ.
IBANಗಳು (ಅಂತಾರಾಷ್ಟ್ರೀಯ ಬ್ಯಾಂಕ್ ಖಾತೆ ಸಂಖ್ಯೆಗಳು) ಅಂತರರಾಷ್ಟ್ರೀಯವಾಗಿ ಬಳಸುವ ಮಾನದಂಡಿತ ಖಾತೆ ಗುರುತಿಸುವಿಕೆಯಾಗಿದ್ದು, ಕ್ರಾಸ್-ಬಾರ್ಡರ್ ವ್ಯವಹಾರಗಳನ್ನು ಸುಲಭಗೊಳಿಸಲು ಮತ್ತು ಅಂತಾರಾಷ್ಟ್ರೀಯ ಹಣ ವರ್ಗಾವಣೆಗಳಲ್ಲಿ ತಪ್ಪುಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ IBANವು ದೇಶದ ಕೋಡ್, ಪರಿಶೀಲನಾ ಅಂಕೆಗಳು ಮತ್ತು ದೇಶ-ನಿಯಮಿತ ರೂಪಗಳಲ್ಲಿ ಇರುವ ಮೂಲ ಬ್ಯಾಂಕ್ ಖಾತೆ ಸಂಖ್ಯೆಯನ್ನು (BBAN) ಒಳಗೊಂಡಿರುತ್ತದೆ. ನಮ್ಮ ಸಾಧನವು ಹಲವಾರು ದೇಶದ ರೂಪಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಎಲ್ಲಾ ಜನರೇಟರ್ ಮಾಡಿದ IBANಗಳು ISO 13616 ಮಾನದಂಡದಲ್ಲಿ ನಿರ್ದಿಷ್ಟ MOD 97 ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಅಲ್ಗೋರಿ್ಥಮ್ ಅನ್ನು ಪಾಸು ಮಾಡುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
IBANವು 34 ಅಕ್ಷರಗಳವರೆಗೆ (ಅಂಕಿಅಂಶಗಳು ಮತ್ತು ಅಕ್ಷರಗಳು) ಒಳಗೊಂಡಿರುತ್ತದೆ, ಆದರೆ ನಿಖರವಾದ ಉದ್ದವು ದೇಶದ ಪ್ರಕಾರ ವ್ಯತ್ಯಾಸವಾಗುತ್ತದೆ. ಮಾನದಂಡಿತ ರಚನೆ ಒಳಗೊಂಡಿದೆ:
ಉದಾಹರಣೆಗೆ, ಜರ್ಮನಿಯ IBAN DE2!n8!n10!n
ರೂಪವನ್ನು ಅನುಸರಿಸುತ್ತದೆ, ಅಲ್ಲಿ:
DE
ದೇಶದ ಕೋಡ್2!n
ಎರಡು ಸಂಖ್ಯಾ ಪರಿಶೀಲನಾ ಅಂಕಿಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ8!n
ಎಂಟು-ಅಂಕಿಯ ಬ್ಯಾಂಕ್ ಕೋಡ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ10!n
ಹತ್ತು-ಅಂಕಿಯ ಖಾತೆ ಸಂಖ್ಯೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆವಿಭಿನ್ನ ದೇಶಗಳಿಗೆ BBAN ರೂಪಗಳು ವಿಭಿನ್ನವಾಗಿದ್ದು, IBAN ಉದ್ದದಲ್ಲಿ ವ್ಯತ್ಯಾಸವನ್ನು ಉಂಟುಮಾಡುತ್ತವೆ:
ದೇಶ | ಉದ್ದ | ರೂಪ | ಉದಾಹರಣೆ |
---|---|---|---|
ಜರ್ಮನಿ (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
ಯುಕೆ (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
ಫ್ರಾನ್ಸ್ (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
ಸ್ಪೇನ್ (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
ಇಟಲಿ (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
IBAN ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಪ್ರಕ್ರಿಯೆ ISO 7064 ಮಾನದಂಡದಲ್ಲಿ ನಿರ್ದಿಷ್ಟವಾದ MOD 97 ಅಲ್ಗೋರಿ್ಥಮ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ:
ಗಣಿತವಾಗಿ, ಇದು ಈ ರೀತಿಯಲ್ಲಿದೆ:
ನಮ್ಮ ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಈ ಅಲ್ಗೋರಿ್ಥಮ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಕೆದಾರರಿಂದ ನಮೂದಿಸಿದ ಯಾವುದೇ IBANನ ರಚನಾ ಶ್ರೇಣಿಯನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ.
IBAN ಜನರೇಟರ್ ಯಾದೃಚ್ಛಿಕ ಆದರೆ ಮಾನ್ಯ IBANಗಳನ್ನು ಪರೀಕ್ಷಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ ರಚಿಸುತ್ತದೆ. ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯಗಳು ಒಳಗೊಂಡಿವೆ:
ಜನರೇಟರ್ IBANಗಳನ್ನು ಈ ರೀತಿಯಲ್ಲಿ ರಚಿಸುತ್ತದೆ:
IBAN ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಬಳಕೆದಾರರಿಂದ ನಮೂದಿಸಿದ IBANಗಳ ರಚನಾ ಶ್ರೇಣಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಪ್ರಮುಖ ವೈಶಿಷ್ಟ್ಯಗಳು ಒಳಗೊಂಡಿವೆ:
ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಹಲವಾರು ಪರಿಶೀಲನೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ:
IBAN ಜನರೇಟರ್ ಮತ್ತು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಸಾಧನವು ವಿಭಿನ್ನ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಹಲವು ಉದ್ದೇಶಗಳನ್ನು ಸೇವಿಸುತ್ತದೆ:
ನಮ್ಮ IBAN ಜನರೇಟರ್ ಮತ್ತು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಸಾಧನವು ಪರೀಕ್ಷಾ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಸರಳವಾದ ಅನುಭವವನ್ನು ನೀಡುವಾಗ, ಪರಿಗಣಿಸಲು ಪರ್ಯಾಯ ವಿಧಾನಗಳಿವೆ:
ನಮ್ಮ ಸಾಧನವು ಈ ಪರ್ಯಾಯಗಳಿಗೆ ನಡುವಣ ಅಂತರವನ್ನು ತುಂಬಿಸುತ್ತದೆ, ಜನರೇಶನ್ ಮತ್ತು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಎರಡೂ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸರಳ, ಪ್ರವೇಶಗೋಸ್ಕರ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಒದಗಿಸುತ್ತದೆ, ತಾಂತ್ರಿಕ ಏಕೀಕರಣ ಅಥವಾ ಪಾವತಿ ಚಂದಾದಾರಿಕೆಗಳನ್ನು ಅಗತ್ಯವಿಲ್ಲ.
IBAN (ಅಂತಾರಾಷ್ಟ್ರೀಯ ಬ್ಯಾಂಕ್ ಖಾತೆ ಸಂಖ್ಯೆ) ಅಂತರರಾಷ್ಟ್ರೀಯ ಗಡಿಗಳನ್ನು ದಾಟಿ ಬ್ಯಾಂಕ್ ಖಾತೆಗಳನ್ನು ಗುರುತಿಸಲು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಮಾನದಂಡಿತ ಅಂತಾರಾಷ್ಟ್ರೀಯ ಸಂಖ್ಯಾ ವ್ಯವಸ್ಥೆ. ಇದು ಅಂತಾರಾಷ್ಟ್ರೀಯ ವ್ಯವಹಾರಗಳನ್ನು ತಪ್ಪು-ರಹಿತಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡಲು ಅಂತಾರಾಷ್ಟ್ರೀಯ ಸಂಸ್ಥೆಯ ಮೂಲಕ ಸ್ಥಾಪಿತವಾಗಿದೆ.
IBAN ಜನರೇಟರ್ IBANಗಳನ್ನು ರಚಿಸುತ್ತದೆ, ಅವುಗಳು ISO 13616 ಮಾನದಂಡದಲ್ಲಿ ನಿರ್ದಿಷ್ಟವಾದ MOD 97 ಪರಿಶೀಲನೆಯ ಅಲ್ಗೋರಿ್ಥಮ್ ಅನ್ನು ಪಾಸು ಮಾಡುತ್ತವೆ. ಜನರೇಟರ್ ಮಾಡಿದ IBANಗಳು ಗಣಿತೀಯವಾಗಿ ಮಾನ್ಯವಾಗಿವೆ, ಆದರೆ ಯಾದೃಚ್ಛಿಕವಾಗಿವೆ ಮತ್ತು ವಾಸ್ತವ ಬ್ಯಾಂಕ್ ಖಾತೆಗಳಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ, ಇದರಿಂದಾಗಿ ಪರೀಕ್ಷೆಗಾಗಿ ಉತ್ತಮವಾಗಿವೆ ಆದರೆ ವಾಸ್ತವ ವ್ಯವಹಾರಗಳಿಗೆ ಅಲ್ಲ.
ಈ ಸಾಧನವು ಜರ್ಮನಿ, ಯುನೈಟೆಡ್ ಕಿಂಗ್ಡಮ್, ಫ್ರಾನ್ಸ್, ಸ್ಪೇನ್, ಇಟಲಿ, ನೆದರ್ಲ್ಯಾಂಡ್ಸ್, ಸ್ವಿಟ್ಜರ್ಲ್ಯಾಂಡ್, ಆಸ್ಟ್ರಿಯಾ, ಬೆಲ್ಜಿಯಂ ಮತ್ತು ಪೋಲ್ಯಾಂಡ್ ದೇಶಗಳ IBAN ರೂಪಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಈ ದೇಶಗಳು ಯೂರೋಪ್ನಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ IBAN ರೂಪಗಳನ್ನು ಒಳಗೊಂಡಿವೆ.
ಇಲ್ಲ. ಈ ಜನರೇಟರ್ ಮೂಲಕ ರಚಿಸಿದ IBANಗಳು ರಚನಾ ದೃಷ್ಟಿಯಿಂದ ಮಾನ್ಯವಾಗಿವೆ ಆದರೆ ಯಾದೃಚ್ಛಿಕವಾಗಿ ರಚಿಸಲ್ಪಟ್ಟಿವೆ. ಇವು ವಾಸ್ತವ ಬ್ಯಾಂಕ್ ಖಾತೆಗಳಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ ಮತ್ತು ಪರೀಕ್ಷಾ, ಶೈಕ್ಷಣಿಕ ಅಥವಾ ಪ್ರದರ್ಶನ ಉದ್ದೇಶಗಳಿಗೆ ಮಾತ್ರ ಬಳಸಬೇಕು.
ಮಾನ್ಯತಾಪತ್ರಿಕೆ IBANನ ಹಲವಾರು ಅಂಶಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ:
ಇಲ್ಲ. IBANಗಳನ್ನು ಓದುಗರಿಗಾಗಿ (ಸಾಮಾನ್ಯವಾಗಿ ನಾಲ್ಕು ಅಕ್ಷರಗಳ ಗುಂಪುಗಳಲ್ಲಿ) ಅಂತರಗಳನ್ನು ಹೊಂದಿರುವಂತೆ ತೋರಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಮಾಡುವಾಗ ಅಂತರಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ. ನಮ್ಮ ಸಾಧನವು ರೂಪಿತ ಮತ್ತು ರೂಪಿತವಿಲ್ಲದ IBANಗಳನ್ನು ಎರಡೂ ನಿರ್ವಹಿಸುತ್ತದೆ.
ಇಲ್ಲ. ಈ ಸಾಧನವು ಸಂಪೂರ್ಣವಾಗಿ ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಯಾವುದೇ IBAN ಡೇಟಾ ಯಾವುದೇ ಸರ್ವರ್ಗೆ ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ, ಸಂಗ್ರಹಿಸಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ತೃತೀಯ ಪಕ್ಷಗಳಿಗೆ ಹಂಚಲಾಗುವುದಿಲ್ಲ. ನಿಮ್ಮ ಡೇಟಾ ಖಾಸಗಿಯಾಗಿ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿರುತ್ತದೆ.
ಪ್ರಸ್ತುತ, ಸಾಧನವು ಡ್ರಾಪ್ಡೌನ್ನಲ್ಲಿ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಬೆಂಬಲಿತ ದೇಶಗಳಿಂದ ಮಾತ್ರ IBANಗಳನ್ನು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಮಾಡುತ್ತದೆ. ನೀವು ಹೆಚ್ಚುವರಿ ದೇಶಗಳಿಗಾಗಿ ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಅಗತ್ಯವಿದ್ದರೆ, ದಯವಿಟ್ಟು ಪ್ರತಿಕ್ರಿಯೆ ಫಾರ್ಮ್ ಮೂಲಕ ನಮಗೆ ತಿಳಿಸಿ.
IBANವು ಹಲವಾರು ಕಾರಣಗಳಿಗಾಗಿ ಮಾನ್ಯತಾಪತ್ರಿಕೆ ವಿಫಲವಾಗಬಹುದು:
ನಾವು ಸಾಧನವನ್ನು ಸುಧಾರಿಸಲು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸ್ವಾಗತಿಸುತ್ತೇವೆ. ದಯವಿಟ್ಟು ಪುಟದ ಕೆಳಭಾಗದಲ್ಲಿ ಲಿಂಕ್ ಮೂಲಕ ಲಭ್ಯವಿರುವ ಪ್ರತಿಕ್ರಿಯೆ ಫಾರ್ಮ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಯಾವುದೇ ಸಮಸ್ಯೆಗಳನ್ನು ವರದಿ ಅಥವಾ ಸುಧಾರಣೆಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಿ.
IBAN ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಮತ್ತು ಜನರೇಟರ್ ಅನ್ನು ತಮ್ಮದೇ ಆದ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಅನುಷ್ಠಾನಗೊಳಿಸಲು ಆಸಕ್ತ ಡೆವೆಲಪರ್ಗಳಿಗೆ, ಇಲ್ಲಿ ವಿವಿಧ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಕೋಡ್ ಉದಾಹರಣೆಗಳಿವೆ:
1function validateIban(iban) {
2 // ಅಂತರಗಳನ್ನು ತೆಗೆದು ಹಾಕಿ ಮತ್ತು ದೊಡ್ಡ ಅಕ್ಷರಗಳಿಗೆ ಪರಿವರ್ತಿಸಿ
3 const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4
5 // ಮೂಲ ರೂಪವನ್ನು ಪರಿಶೀಲಿಸಿ
6 if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7 return false;
8 }
9
10 // ಮೊದಲ 4 ಅಕ್ಷರಗಳನ್ನು ಕೊನೆಗೆ ಕರೆದೊಯ್ಯಿರಿ
11 const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12 const converted = rearranged.split('').map(char => {
13 if (/[A-Z]/.test(char)) {
14 return (char.charCodeAt(0) - 55).toString();
15 }
16 return char;
17 }).join('');
18
19 // 97 ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ
20 let remainder = 0;
21 for (let i = 0; i < converted.length; i++) {
22 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23 }
24
25 return remainder === 1;
26}
27
28// ಉದಾಹರಣೆ ಬಳಸುವುದು
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (ಅಮಾನ್ಯ ಪರಿಶೀಲನಾ ಅಂಕಿಗಳು)
32
1def validate_iban(iban):
2 # ಅಂತರಗಳನ್ನು ತೆಗೆದು ಹಾಕಿ ಮತ್ತು ದೊಡ್ಡ ಅಕ್ಷರಗಳಿಗೆ ಪರಿವರ್ತಿಸಿ
3 iban = iban.replace(' ', '').upper()
4
5 # ಮೂಲ ರೂಪವನ್ನು ಪರಿಶೀಲಿಸಿ
6 if not (len(iban) > 4 and iban[:2].isalpha() and iban[2:4].isdigit()):
7 return False
8
9 # ಮೊದಲ 4 ಅಕ್ಷರಗಳನ್ನು ಕೊನೆಗೆ ಕರೆದೊಯ್ಯಿರಿ
10 rearranged = iban[4:] + iban[:4]
11
12 # ಅಕ್ಷರಗಳನ್ನು ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಿ (A=10, B=11, ..., Z=35)
13 converted = ''
14 for char in rearranged:
15 if char.isalpha():
16 converted += str(ord(char) - 55)
17 else:
18 converted += char
19
20 # 97 ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ
21 return int(converted) % 97 == 1
22
23# ಉದಾಹರಣೆ ಬಳಸುವುದು
24print(validate_iban('DE89 3704 0044 0532 0130 00')) # True
25print(validate_iban('GB29 NWBK 6016 1331 9268 19')) # True
26print(validate_iban('DE89 3704 0044 0532 0130 01')) # False (ಅಮಾನ್ಯ ಪರಿಶೀಲನಾ ಅಂಕಿಗಳು)
27
1public class IbanValidator {
2 public static boolean validateIban(String iban) {
3 // ಅಂತರಗಳನ್ನು ತೆಗೆದು ಹಾಕಿ ಮತ್ತು ದೊಡ್ಡ ಅಕ್ಷರಗಳಿಗೆ ಪರಿವರ್ತಿಸಿ
4 String cleanedIban = iban.replaceAll("\\s", "").toUpperCase();
5
6 // ಮೂಲ ರೂಪವನ್ನು ಪರಿಶೀಲಿಸಿ
7 if (!cleanedIban.matches("[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}")) {
8 return false;
9 }
10
11 // ಮೊದಲ 4 ಅಕ್ಷರಗಳನ್ನು ಕೊನೆಗೆ ಕರೆದೊಯ್ಯಿರಿ
12 String rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
13
14 // ಅಕ್ಷರಗಳನ್ನು ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಿ
15 StringBuilder converted = new StringBuilder();
16 for (char c : rearranged.toCharArray()) {
17 if (Character.isLetter(c)) {
18 converted.append(c - 'A' + 10);
19 } else {
20 converted.append(c);
21 }
22 }
23
24 // 97 ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ
25 BigInteger numeric = new BigInteger(converted.toString());
26 return numeric.mod(BigInteger.valueOf(97)).intValue() == 1;
27 }
28
29 public static void main(String[] args) {
30 System.out.println(validateIban("DE89 3704 0044 0532 0130 00")); // true
31 System.out.println(validateIban("GB29 NWBK 6016 1331 9268 19")); // true
32 System.out.println(validateIban("DE89 3704 0044 0532 0130 01")); // false
33 }
34}
35
1function generateIban(countryCode) {
2 const countryFormats = {
3 'DE': { length: 22, bbanPattern: '8n10n' },
4 'GB': { length: 22, bbanPattern: '4a6n8n' },
5 'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6 // ಅಗತ್ಯವಿರುವಷ್ಟು ಹೆಚ್ಚು ದೇಶಗಳನ್ನು ಸೇರಿಸಿ
7 };
8
9 if (!countryFormats[countryCode]) {
10 throw new Error(`ದೇಶದ ಕೋಡ್ ${countryCode} ಬೆಂಬಲಿತವಲ್ಲ`)
11 }
12
13 // ದೇಶದ ರೂಪವನ್ನು ಆಧರಿಸಿ ಯಾದೃಚ್ಛಿಕ BBAN ಅನ್ನು ರಚಿಸಿ
14 let bban = '';
15 const pattern = countryFormats[countryCode].bbanPattern;
16 let i = 0;
17
18 while (i < pattern.length) {
19 const count = parseInt(pattern.substring(i + 1), 10);
20 const type = pattern[i];
21
22 if (type === 'n') {
23 // ಸಂಖ್ಯಾ ಅಕ್ಷರಗಳನ್ನು ರಚಿಸಿ
24 for (let j = 0; j < count; j++) {
25 bban += Math.floor(Math.random() * 10);
26 }
27 } else if (type === 'a') {
28 // ಅಕ್ಷರಗಳನ್ನು ರಚಿಸಿ
29 for (let j = 0; j < count; j++) {
30 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31 }
32 } else if (type === 'c') {
33 // ಅಕ್ಷರ ಮತ್ತು ಸಂಖ್ಯೆಗಳ ಅಕ್ಷರಗಳನ್ನು ರಚಿಸಿ
34 for (let j = 0; j < count; j++) {
35 const isLetter = Math.random() > 0.5;
36 if (isLetter) {
37 bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38 } else {
39 bban += Math.floor(Math.random() * 10);
40 }
41 }
42 }
43
44 i += 2;
45 }
46
47 // ಪರಿಶೀಲನಾ ಅಂಕಿಗಳನ್ನು ಲೆಕ್ಕಹಾಕಿ
48 const checkDigits = calculateCheckDigits(countryCode, bban);
49
50 return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54 // '00' ಅನ್ನು ಪರಿಶೀಲನಾ ಅಂಕಿಗಳಂತೆ ಹೊಂದಿರುವ ಪ್ರಾರಂಭಿಕ IBAN ಅನ್ನು ರಚಿಸಿ
55 const initialIban = countryCode + '00' + bban;
56
57 // ಪುನರ್ವ್ಯವಸ್ಥೆ ಮಾಡಿ ಮತ್ತು ಅಕ್ಷರಗಳನ್ನು ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಿ
58 const rearranged = bban + countryCode + '00';
59 const converted = rearranged.split('').map(char => {
60 if (/[A-Z]/.test(char)) {
61 return (char.charCodeAt(0) - 55).toString();
62 }
63 return char;
64 }).join('');
65
66 // 98 ಅನ್ನು 97 ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ
67 let remainder = 0;
68 for (let i = 0; i < converted.length; i++) {
69 remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70 }
71
72 const checkDigits = (98 - remainder).toString().padStart(2, '0');
73 return checkDigits;
74}
75
76// ಉದಾಹರಣೆ ಬಳಸುವುದು
77console.log(generateIban('DE')); // ಮಾನ್ಯ ಜರ್ಮನ್ IBAN ಅನ್ನು ರಚಿಸುತ್ತದೆ
78console.log(generateIban('GB')); // ಮಾನ್ಯ ಯುಕೆ IBAN ಅನ್ನು ರಚಿಸುತ್ತದೆ
79
1import random
2import string
3
4def generate_iban(country_code):
5 country_formats = {
6 'DE': {'length': 22, 'bban_format': '8n10n'},
7 'GB': {'length': 22, 'bban_format': '4a6n8n'},
8 'FR': {'length': 27, 'bban_format': '5n5n11c2n'}
9 # ಅಗತ್ಯವಿರುವಷ್ಟು ಹೆಚ್ಚು ದೇಶಗಳನ್ನು ಸೇರಿಸಿ
10 }
11
12 if country_code not in country_formats:
13 raise ValueError(f"ದೇಶದ ಕೋಡ್ {country_code} ಬೆಂಬಲಿತವಲ್ಲ")
14
15 # ದೇಶದ ರೂಪವನ್ನು ಆಧರಿಸಿ ಯಾದೃಚ್ಛಿಕ BBAN ಅನ್ನು ರಚಿಸಿ
16 bban = ''
17 format_str = country_formats[country_code]['bban_format']
18 i = 0
19
20 while i < len(format_str):
21 count = int(''.join(c for c in format_str[i+1:] if c.isdigit()))
22 type_char = format_str[i]
23
24 if type_char == 'n': # ಸಂಖ್ಯಾ
25 bban += ''.join(random.choices(string.digits, k=count))
26 elif type_char == 'a': # ಅಕ್ಷರ
27 bban += ''.join(random.choices(string.ascii_uppercase, k=count))
28 elif type_char == 'c': # ಅಕ್ಷರ ಮತ್ತು ಸಂಖ್ಯೆಗಳು
29 bban += ''.join(random.choices(string.ascii_uppercase + string.digits, k=count))
30
31 i += 1 + len(str(count))
32
33 # ಪರಿಶೀಲನಾ ಅಂಕಿಗಳನ್ನು ಲೆಕ್ಕಹಾಕಿ
34 check_digits = calculate_check_digits(country_code, bban)
35
36 return country_code + check_digits + bban
37
38def calculate_check_digits(country_code, bban):
39 # ಪರಿಶೀಲನಾ ಅಂಕಿಗಳ ಲೆಕ್ಕಹಾಕಲು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ರಚಿಸಿ
40 check_string = bban + country_code + '00'
41
42 # ಅಕ್ಷರಗಳನ್ನು ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಿ (A=10, B=11, ..., Z=35)
43 numeric = ''
44 for char in check_string:
45 if char.isalpha():
46 numeric += str(ord(char.upper()) - 55)
47 else:
48 numeric += char
49
50 # 98 ಅನ್ನು 97 ಅನ್ನು ಲೆಕ್ಕಹಾಕಿ
51 remainder = int(numeric) % 97
52 check_digits = str(98 - remainder).zfill(2)
53
54 return check_digits
55
56# ಉದಾಹರಣೆ ಬಳಸುವುದು
57print(generate_iban('DE')) # ಮಾನ್ಯ ಜರ್ಮನ್ IBAN ಅನ್ನು ರಚಿಸುತ್ತದೆ
58print(generate_iban('GB')) # ಮಾನ್ಯ ಯುಕೆ IBAN ಅನ್ನು ರಚಿಸುತ್ತದೆ
59
IBAN ಜನರೇಟರ್ ಮತ್ತು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಸಾಧನವು ಅಂತಾರಾಷ್ಟ್ರೀಯ ಬ್ಯಾಂಕಿಂಗ್ ಗುರುತಿಸುವಿಕೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಪರೀಕ್ಷಾ ಮತ್ತು ಶೈಕ್ಷಣಿಕ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಸರಳ ಆದರೆ ಶಕ್ತಿಯುತ ಪರಿಹಾರವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಜನರೇಟರ್ ಮತ್ತು ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಒದಗಿಸುವ ಮೂಲಕ, ಇದು ಸಂಕೀರ್ಣ ಸಂರಚನೆಗಳು ಅಥವಾ ತೃತೀಯ ಪಕ್ಷದ ಏಕೀಕರಣಗಳನ್ನು ಅಗತ್ಯವಿಲ್ಲ.
ನೀವು ಹಣಕಾಸು ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಅಭಿವೃದ್ಧಿ ಮಾಡುತ್ತಿದ್ದೀರಾ, ಪೇಮೆಂಟ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಪರೀಕ್ಷಿಸುತ್ತಿದ್ದೀರಾ ಅಥವಾ ಅಂತಾರಾಷ್ಟ್ರೀಯ ಬ್ಯಾಂಕಿಂಗ್ ಮಾನದಂಡಗಳ ಬಗ್ಗೆ ಕಲಿಸುತ್ತಿದ್ದೀರಾ, ಈ ಸಾಧನವು IBANಗಳನ್ನು ಬಳಸಲು ಸರಳ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಸಮಗ್ರ ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಎಲ್ಲಾ ಜನರೇಟರ್ ಮಾಡಿದ IBANಗಳು ರಚನಾ ದೃಷ್ಟಿಯಿಂದ ಶ್ರೇಣೀಬದ್ಧವಾಗಿವೆ ಮತ್ತು ಅಂತಾರಾಷ್ಟ್ರೀಯ ಮಾನದಂಡಗಳಿಗೆ ಅನುಗುಣವಾಗಿವೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಈಗ IBAN ಅನ್ನು ಜನರೇಟ್ ಅಥವಾ ಮಾನ್ಯತಾಪತ್ರಿಕೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ, ಸಾಧನದ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ನೇರವಾಗಿ ಅನುಭವಿಸಲು!
ನಿಮ್ಮ ಕೆಲಸದ ಹಂತಕ್ಕೆ ಉಪಯೋಗಿಸಬಹುದಾದ ಹೆಚ್ಚು ಉಪಕರಣಗಳನ್ನು ಹುಡುಕಿ ಹೊಸ ಉಪಕರಣಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ