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"}
/>