javascript - 防止 HTML5 输入上的智能引号

标签 javascript html

最近我的网络应用程序遇到了一个烦人的问题。使用 HTML5,用户可以创建一个带有登录 ID 的帐户。 ID 几乎可以包含任何字符。用户将输入一个帐户 ID,例如

鲍勃的账户

他们的设备(他们不知道)将 ' 变成带有 ` 风格撇号的“智能引号”

现在他们的帐户已创建(用户 ID 中带有智能引号)。但是,如果他们尝试使用不会自动创建弯引号的设备登录,他们会尝试使用标准撇号登录,但由于这是一个不同的字符,因此找不到他们的帐户。

我确定我可以限制用户可以为帐户 ID 输入的字符,但我宁愿首先阻止智能引号的出现。

有没有办法在 HTML5 输入字段中禁用“智能引号”?

最佳答案

如果您知道 Angular 色会变成什么,只需在提交表格前将其替换为常规引用即可。

str
            .replace(/[\u2014]/g, "--")        // emdash
            .replace(/[\u2022]/g, "*")         // bullet
            .replace(/[\u2018\u2019]/g, "'")   // smart single quotes
            .replace(/[\u201C\u201D]/g, '"');  // smart double quotes

这只是一个例子,我知道这很乏味,但这是一种方法。查看:https://asna.com/us/tech/kb/doc/remove-smart-quote对于具有许多其他特殊字符的脚本,这些字符被替换以提供相同的功能

关于javascript - 防止 HTML5 输入上的智能引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66631493/

相关文章:

javascript - Node : Update html5 canvas whiteboard using socket. io

javascript - 使用 Google 的 Platform.js 插件

html - anchor 标签不填充高度和宽度

javascript - 是什么让这些子导航扩展?

javascript - Angular .js : A Table from nested data structure?

html - 如何在 IE 中显示 SVG 圆环图?

PHP购物车添加删除按钮?

javascript - React Transition CSS动画闪烁

javascript - IE 提示 JS 语法错误,但在其他浏览器上工作

javascript - 通过 JavaScript 使用 Canvas,如何在 Y 参数内绘制 X 次图片?