You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

阿拉伯语网站表单仅显示阿拉伯数字,如何允许输入欧洲数字?

解决阿拉伯语网站表单输入欧洲数字显示为阿拉伯数字的问题

这个问题的核心原因通常是自定义阿拉伯字体将欧洲数字(0-9)映射渲染为阿拉伯数字(٠-٩),或是页面RTL方向设置影响了数字的渲染规则,以下是几个直接可行的解决办法:

方案1:给目标输入框指定支持欧洲数字的字体

全局使用的GE_SS_Unique_Light.otf字体可能默认将欧洲数字替换为阿拉伯数字,给需要输入欧洲数字的输入框单独设置兼容的字体即可:

/* 针对带有lang="en"的输入框容器,设置子输入框的字体 */
.input[lang="en"] input {
    font-family: Arial, Helvetica, sans-serif;
}

这样邮箱、手机号等输入框会使用系统默认的无衬线字体,确保欧洲数字正常显示。

方案2:用JavaScript自动转换数字格式

如果需要同时兼容用户输入阿拉伯数字和欧洲数字,可通过JS将输入的阿拉伯数字自动转换为欧洲数字:

// 监听所有需要欧洲数字的输入框
document.querySelectorAll('.input[lang="en"] input').forEach(input => {
    input.addEventListener('input', function() {
        // 把阿拉伯数字(٠-٩)替换为对应的欧洲数字(0-9)
        this.value = this.value.replace(/[\u0660-\u0669]/g, match => {
            return String.fromCharCode(match.charCodeAt(0) - 1632);
        });
    });
});

用户无论是输入欧洲数字还是阿拉伯数字,输入框最终都会显示欧洲数字。

方案3:给输入框单独设置语言和文字方向

在输入框元素上明确设置lang="en"和dir="ltr",让浏览器按照英语规则渲染内容:

<!-- 示例:邮箱输入框修改 -->
<div class="input" style="display:flex; flex-direction: row; justify-content: center; align-items: center">
    <label for="P_Email">البريد الالكتروني</label>
    <input
        type="text"
        name="P_Email"
        id="P_Email"
        placeholder="user@gmail.com"
        autocomplete="off"
        lang="en"
        dir="ltr"
    />
    <small>Error message</small>
</div>

这种方式明确告诉浏览器该输入框的语言和文字方向,避免RTL环境下的数字自动转换。

内容的提问来源于stack exchange,提问作者Hadeel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 21:07:06