首页 > web前端 > js教程 > 正文

如何强制让输入框的文本以大写显示?(代码示例)

青灯夜游
发布: 2018-11-06 11:28:18
原创
3416人浏览过

本篇文章给大家带来的内容是介绍强制让输入框的文本以大写显示的方法?(代码示例),让大家掌握多种强制转换大写的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

有的时候,在一个表单里,你只想接受某些输入或textarea字段中的大写字母文本。那么如何让输入的小写字母强制转换为大写字母文本?从JavaScript到CSS和服务器端代码,其实有有很多方法可以解决这个烦人的问题。

下面我们就通过简单的代码示例来看看实现方法。

一、在输入时使用JavaScript更改文本(必须使用英文输入)

使用toUpperCase()转换大写

这是最明显和最常见的方法,但也是用户最不友好的方法。在每次击键时,都会触发JavaScript事件以将值转换为大写。

<input type="text" onkeyup="this.value = this.value.toUpperCase();">
登录后复制

我们来看看效果,输入一个小写的‘a’,会出现:

1.jpg

但这种方法会出现其他问题:

1、当我们使用中文输入法,在按shift输入字符时,会出现重复字符;因此必须使用英文输入。

2.jpg

2、尝试在上面的输入框中输入“AAA”,选择中间的“A”并尝试将其更改为“ABBA”。你最终得到的是'ABAB',因为设置值会将光标移动到文本的末尾。

接下来我们改进一下,可以定位光标位置

如果将光标移动到文本中的较早位置并键入,它将被回显到已输入的文本的末尾。所以我们需要一些额外的代码来保留光标位置:

<input type="text" onkeyup="
  var start = this.selectionStart;
  var end = this.selectionEnd;
  this.value = this.value.toUpperCase();
  this.setSelectionRange(start, end);
">
登录后复制

看看效果,输入ss:

3.jpg

并且当我们输入“AAA”,选择中间的“A”并尝试将其更改为“ABBA”,也不会在出现'ABAB'的结果了。

二、使用css+php更改文本

实际上,如果表单输入是大写或小写,则不重要。重要的是:

1、用户看到的文本将被使用;

2、我们的表单处理程序在使用之前将文本转换为大写。

考虑到这一点,我们可以抛弃所有前面的JavaScript,而是使用简单的CSS和PHP(或等效的后端)解决方案:

html+css代码

<input style="text-transform: uppercase;" type="text" name="fieldname">
登录后复制

php代码:

<?PHP
  $_POST['fieldname'] = strtoupper($_POST['fieldname']);
?>
登录后复制

效果图:

4.jpg

如果使用适当的技术,你看到有多简单吗!单个CSS样式(可以移动到外部样式表),加上一行PHP,可能已经存在。不需要JavaScript或jQuery。

总结:以上就是本篇文章所介绍的全部内容,希望能对大家的学习有所帮助。

以上就是如何强制让输入框的文本以大写显示?(代码示例)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号