diff --git a/frontend/src/components/ShoppingListItemRow.jsx b/frontend/src/components/ShoppingListItemRow.jsx
index 88c4cc9..880f35b 100644
--- a/frontend/src/components/ShoppingListItemRow.jsx
+++ b/frontend/src/components/ShoppingListItemRow.jsx
@@ -40,10 +40,12 @@ export default function ShoppingListItemRow({ item, listId }) {
/>
setQuantity(e.target.value)}
+ onChange={(e) => setQuantity(e.target.value.replace(/\D/g, ''))}
onBlur={saveEdit}
onKeyDown={(e) => e.key === 'Enter' && saveEdit()}
/>
diff --git a/frontend/src/pages/ShoppingListDetail.jsx b/frontend/src/pages/ShoppingListDetail.jsx
index 35b26a5..b9442d1 100644
--- a/frontend/src/pages/ShoppingListDetail.jsx
+++ b/frontend/src/pages/ShoppingListDetail.jsx
@@ -75,10 +75,12 @@ export default function ShoppingListDetail() {
/>
setItemQuantity(e.target.value)}
+ onChange={(e) => setItemQuantity(e.target.value.replace(/\D/g, ''))}
/>