gpt4 book ai didi

c# - 将字符串转换为大写jquery

转载 作者:行者123 更新时间:2023-11-28 12:30:53 26 4
gpt4 key购买 nike

系统中的所有数据都必须以大写形式保存,除了一些异常(exception)(密码、电子邮件、登录...),所以我创建了一个css来实现视觉效果

input[type="text"], textarea { text-transform:uppercase; }
.small_case { text-transform:smallcase !important; }

对异常字段使用 small_case(密码不需要这个)

但众所周知,这会将用户输入的值保留在服务器端

示例:

  • 输入:Abcd
  • 视觉:ABCD
  • 服务器:Abcd

所以我做了一个 jQuery 函数来“修复”这个问题:

$(document).ready(function () {
$("input, textarea").on('keypress blur', function () {
if ($(this).hasClass('small_case')) {
$(this).val($(this).val().toLowerCase());
}
else {
$(this).val($(this).val().toUpperCase());
}
});
});

PS:为什么我要使用 keypressblur

  1. 右键单击并将值粘贴到输入中
  2. 按回车键保存或搜索
  3. result:该值将作为用户输入。不是大写

但是,我有一个小问题

在一些输入中,我使用了一个 mask 组件,它创建了基本结构

例子:

  • 值输入:ABC1234
  • 屏蔽输入:_ _ _ _ _ _ _
  • 同时输入:AB_ _ _ _ _ ; ABC12_ _ ;

使用上面的 jQuery 代码,插入符将位于末尾

例子:

  • A_ _ _ _ _ _|(其中 | 是我的插入光标)

我正在尝试做什么,但不确定这是如何或是否是正确/最佳解决方案?

  • 通过正则表达式查找 index 是什么最后一个字符的键码与我上次键入的字符相同,并将 carat 设置到该位置。
  • 只使用模糊,会避免这个问题,但我属于 jQuery 代码下面的 PS

那么……有什么建议吗?

最佳答案

您可能应该执行以下操作:

  1. 使用文本转换来修复用户看到的内容

  2. 当值来自客户端时,利用服务器

如果出于某种原因您仍然想按照您尝试的方式进行操作,那么您必须在修改 jquery 中的文本后修改每个文本框的光标位置。

查看以下帖子中的一些答案: With jQuery, how do I capitalize the first letter of a text field while the user is still editing that field?

关于c# - 将字符串转换为大写jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18238598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com