Svelte
<script>
const arabicToEnglish = (string) => {
// removing non numeric characters
const number = string.replace(/[^0-9Ù -Ù©.,]+/g, "");
// replacing arabic numbers with english numbers
return number.replace(/[\u0660-\u0669]/g, (digit) =>
"٠١٢٣٤٥٦٧٨٩".indexOf(digit)
);
};
export let inputMode;
let number = "";
</script>
<label>This input changes arabic numbers to english numbers! </label>
<br />
<input
value={number}
on:input={(event) => {
number = arabicToEnglish(event.target.value);
}}
inputMode={inputMode ?? "numeric"}
/>