PHP表单实现输入孟加拉语数字自动转为英语数字
解决方案
你可以通过JavaScript监听输入框的输入事件,将孟加拉语数字映射转换为阿拉伯数字,以下是具体实现:
1. 修改后的HTML代码
给输入框添加唯一ID,方便JS获取元素:
<input type="text" name="number" size="45" id="numberInput" />
2. 实现转换的JavaScript代码
创建孟加拉语数字与阿拉伯数字的映射表,监听输入事件并实时替换:
// 获取输入框元素 const numberInput = document.getElementById('numberInput'); // 孟加拉语数字到阿拉伯数字的映射 const bengaliToArabic = { '০': '0', '১': '1', '২': '2', '৩': '3', '৪': '4', '৫': '5', '৬': '6', '৭': '7', '৮': '8', '৯': '9' }; // 监听输入事件 numberInput.addEventListener('input', function() { // 遍历输入的每个字符,替换为对应的阿拉伯数字 let convertedValue = this.value.split('').map(char => { return bengaliToArabic[char] || char; // 非孟加拉语数字保持原样 }).join(''); // 保存光标位置,避免替换后光标跳到末尾 const cursorPosition = this.selectionStart; this.value = convertedValue; this.setSelectionRange(cursorPosition, cursorPosition); });
说明
- 映射表覆盖了所有孟加拉语数字(০到৯)与阿拉伯数字的对应关系
- 监听
input事件实现实时转换,用户输入时立刻生效 - 处理光标位置,避免替换数字后光标自动跳到输入框末尾,保证输入体验
- 非孟加拉语数字的字符会保留原样,不影响其他内容输入
内容的提问来源于stack exchange,提问作者Effat Jahan
相关产品推荐
相关产品推荐

