mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-09-18 17:39:24 +00:00
regex was broken
This commit is contained in:
parent
59feaddc9c
commit
dfbc29811f
@ -7,7 +7,8 @@ import { RemovePagesParameters, defaultParameters } from './useRemovePagesParame
|
|||||||
export const buildRemovePagesFormData = (parameters: RemovePagesParameters, file: File): FormData => {
|
export const buildRemovePagesFormData = (parameters: RemovePagesParameters, file: File): FormData => {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('fileInput', file);
|
formData.append('fileInput', file);
|
||||||
formData.append('pageNumbers', parameters.pageNumbers);
|
const cleaned = parameters.pageNumbers.replace(/\s+/g, '');
|
||||||
|
formData.append('pageNumbers', cleaned);
|
||||||
return formData;
|
return formData;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,20 +6,18 @@ export const validatePageNumbers = (pageNumbers: string): boolean => {
|
|||||||
const parts = normalized.split(',');
|
const parts = normalized.split(',');
|
||||||
|
|
||||||
// Regular expressions for different page number formats
|
// Regular expressions for different page number formats
|
||||||
const singlePageRegex = /^\d+$/; // Single page: 1, 2, 3, etc.
|
const allToken = /^all$/i; // Select all pages
|
||||||
const rangeRegex = /^\d+-\d*$/; // Range: 1-5, 10-, etc.
|
const singlePageRegex = /^[1-9]\d*$/; // Single page: positive integers only (no 0)
|
||||||
const negativeRegex = /^-\d+$/; // Negative: -3 (last 3 pages)
|
const rangeRegex = /^[1-9]\d*-(?:[1-9]\d*)?$/; // Range: 1-5 or open range 10-
|
||||||
const mathRegex = /^\d*[n]\d*[+\-*/]\d+$/; // Mathematical: 2n+1, n-1, etc.
|
const mathRegex = /^(?=.*n)[0-9n+\-*/() ]+$/; // Mathematical expressions with n and allowed chars
|
||||||
|
|
||||||
return parts.every(part => {
|
return parts.every(part => {
|
||||||
if (!part) return false;
|
if (!part) return false;
|
||||||
return (
|
return (
|
||||||
|
allToken.test(part) ||
|
||||||
singlePageRegex.test(part) ||
|
singlePageRegex.test(part) ||
|
||||||
rangeRegex.test(part) ||
|
rangeRegex.test(part) ||
|
||||||
negativeRegex.test(part) ||
|
|
||||||
mathRegex.test(part)
|
mathRegex.test(part)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user