Vue
<template>
<label>This input changes arabic numbers to english numbers! </label>
<br />
<input
:value="number"
@input="number = arabicToEnglish($event.target.value)"
:inputMode="inputMode ?? 'numeric'"
/>
</template>
<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 default {
name: "my-component",
props: ["inputMode"],
data: () => ({ number: "" }),
methods: { arabicToEnglish },
};
</script>