fix: безопасный re.match в генераторах + сброс fileInput при загрузке страницы
Deploy drhider / validate (push) Waiting to run
Deploy drhider / validate (push) Waiting to run
This commit is contained in:
@@ -23,7 +23,8 @@ def generate_rs(original: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
Строка вида «р/с 40702XXXXXXXXXXXXXXX»
|
Строка вида «р/с 40702XXXXXXXXXXXXXXX»
|
||||||
"""
|
"""
|
||||||
prefix = re.match(r'(?:р/с|расч[её]тный\s*сч[её]т)\s*', original, re.IGNORECASE).group(0)
|
m = re.match(r'(?:р/с|расч[её]тный\s*сч[её]т)\s*', original, re.IGNORECASE)
|
||||||
|
prefix = m.group(0) if m else ""
|
||||||
return prefix + "40702" + random_digits(15)
|
return prefix + "40702" + random_digits(15)
|
||||||
|
|
||||||
|
|
||||||
@@ -39,9 +40,10 @@ def generate_ks(original: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
Строка вида «к/с 30101XXXXXXXXXXXXXXX»
|
Строка вида «к/с 30101XXXXXXXXXXXXXXX»
|
||||||
"""
|
"""
|
||||||
prefix = re.match(
|
m = re.match(
|
||||||
r'(?:к/с|кор/сч|корр?[еи]?спондентский\s*сч[её]т)\s*',
|
r'(?:к/с|кор/сч|корр?[еи]?спондентский\s*сч[её]т)\s*',
|
||||||
original,
|
original,
|
||||||
re.IGNORECASE,
|
re.IGNORECASE,
|
||||||
).group(0)
|
)
|
||||||
|
prefix = m.group(0) if m else ""
|
||||||
return prefix + "30101" + random_digits(15)
|
return prefix + "30101" + random_digits(15)
|
||||||
|
|||||||
@@ -21,5 +21,6 @@ def generate_bik(original: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
Строка вида «БИК 04XXXXXXX»
|
Строка вида «БИК 04XXXXXXX»
|
||||||
"""
|
"""
|
||||||
prefix = re.match(r'БИК\s*', original, re.IGNORECASE).group(0)
|
m = re.match(r'БИК\s*', original, re.IGNORECASE)
|
||||||
|
prefix = m.group(0) if m else ""
|
||||||
return prefix + "04" + random_digits(7)
|
return prefix + "04" + random_digits(7)
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ def generate_inn10(original: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
Строка вида «ИНН XXXXXXXXX-C» с корректной контрольной суммой
|
Строка вида «ИНН XXXXXXXXX-C» с корректной контрольной суммой
|
||||||
"""
|
"""
|
||||||
prefix = re.match(r'ИНН\s*', original, re.IGNORECASE).group(0)
|
m = re.match(r'ИНН\s*', original, re.IGNORECASE)
|
||||||
|
prefix = m.group(0) if m else ""
|
||||||
base = f"{random.randint(1,9)}{random_digits(8)}"
|
base = f"{random.randint(1,9)}{random_digits(8)}"
|
||||||
return prefix + base + checksum_inn10(base)
|
return prefix + base + checksum_inn10(base)
|
||||||
|
|
||||||
@@ -40,6 +41,7 @@ def generate_inn12(original: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
Строка вида «ИНН XXXXXXXXXX-CC» с двумя корректными контрольными суммами
|
Строка вида «ИНН XXXXXXXXXX-CC» с двумя корректными контрольными суммами
|
||||||
"""
|
"""
|
||||||
prefix = re.match(r'ИНН\s*', original, re.IGNORECASE).group(0)
|
m = re.match(r'ИНН\s*', original, re.IGNORECASE)
|
||||||
|
prefix = m.group(0) if m else ""
|
||||||
base = f"{random.randint(1,9)}{random_digits(9)}"
|
base = f"{random.randint(1,9)}{random_digits(9)}"
|
||||||
return prefix + base + checksum_inn12(base)
|
return prefix + base + checksum_inn12(base)
|
||||||
|
|||||||
@@ -22,5 +22,6 @@ def generate_kpp(original: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
Строка вида «КПП XXXX-код-XXX»
|
Строка вида «КПП XXXX-код-XXX»
|
||||||
"""
|
"""
|
||||||
prefix = re.match(r'КПП\s*', original, re.IGNORECASE).group(0)
|
m = re.match(r'КПП\s*', original, re.IGNORECASE)
|
||||||
|
prefix = m.group(0) if m else ""
|
||||||
return prefix + random_digits(4) + random.choice(["01", "43", "77"]) + random_digits(3)
|
return prefix + random_digits(4) + random.choice(["01", "43", "77"]) + random_digits(3)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ def generate_ogrn(original: str) -> str:
|
|||||||
Returns:
|
Returns:
|
||||||
Строка вида «ОГРН 1XXXXXXXXXXX-C» с корректной контрольной суммой
|
Строка вида «ОГРН 1XXXXXXXXXXX-C» с корректной контрольной суммой
|
||||||
"""
|
"""
|
||||||
prefix = re.match(r'ОГРН\s*', original, re.IGNORECASE).group(0)
|
m = re.match(r'ОГРН\s*', original, re.IGNORECASE)
|
||||||
|
prefix = m.group(0) if m else ""
|
||||||
base = "1" + random_digits(11)
|
base = "1" + random_digits(11)
|
||||||
return prefix + base + checksum_ogrn(base)
|
return prefix + base + checksum_ogrn(base)
|
||||||
|
|||||||
@@ -168,6 +168,13 @@ function removeFile(i) {
|
|||||||
renderFiles();
|
renderFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Сброс при загрузке страницы
|
||||||
|
window.addEventListener('load', () => {
|
||||||
|
selectedFiles = [];
|
||||||
|
fileInput.value = '';
|
||||||
|
renderFiles();
|
||||||
|
});
|
||||||
|
|
||||||
fileInput.addEventListener('change', () => {
|
fileInput.addEventListener('change', () => {
|
||||||
selectedFiles = Array.from(fileInput.files);
|
selectedFiles = Array.from(fileInput.files);
|
||||||
renderFiles();
|
renderFiles();
|
||||||
|
|||||||
Reference in New Issue
Block a user