【Unity3D日常开发】 UGUI InputField限制输入个数以及限制输入格式
发布日期:2021-06-30 11:39:59
浏览次数:2
分类:技术文章
本文共 2057 字,大约阅读时间需要 6 分钟。
推荐阅读
一、前言
UGUI InputField 组件是一个用来管理输入的组件
我们通常用来输入用户的账号,密码,或者聊天时输入文字,等等输入逻辑…在使用中,我们常常要对输入的字符串进行限制,最常见的限制有个数和格式
二、限制输入个数
设置Input Field组件的 Character Limit 属性就可以限制输入个数:
如下图所示:
三、限制输入类型
这个我们就需要研究一下Input Field组件的 Content Type 属性了
这个属性的功能是定义输入内容接受/限制的字符类型一共有以下几种类型:
类型 | 功能 |
---|---|
Standard | 标准,可以输入任意字符 |
Auto corrected | 自动更正,可以自动更正用户输入,并建议输入内容 |
Integer Number | 整数,只允许输入整数 |
Decimal Number | 小数,允许输入数字和小数点后一位 |
Alphanumeric | 字母数字,允许字母和数字。无法输入符号 |
Name | 名称(支持中文)自动将每个单词的首字母大写。 |
Email Address | 电子邮件地址,允许您输入最多包含一个@符号的字母数字字符串 |
Password | 密码:用 * 表示输入的字符,从而隐藏输入内容。允许输入任意字符 |
Pin | 密码:用 * 号表示输入的字符,从而隐藏输入内容。仅允许输入整数 |
Custom | 自定义:允许自定义行类型、输入类型、默认键盘类型、字符验证 |
这几个就没啥好说的,
主要讲一下自定义:
Line Type:行类型,允许输入单行或者多行,或者Enter 键来新建行,继续输入 Input Type:输入类型,有三个选项,任何字符、自动修正、密码类型 Keyboard Type:它可以在用户选中输入框时,调出不同类型的键盘名称 | 功能 |
---|---|
Default | 目标平台的默认键盘 |
ASCLL Capable | 带标准ASCII键的键盘。 |
Numbers And Punctuation | 键盘与数字和标点符号键 |
URL | 键盘与URL输入键 |
Number Pad | 键盘与标准数字键 |
Phone Pad | 键盘与适合键入电话号码的布局 |
NamePhone Pad | 键盘与字母数字键 |
Email Address | 带有适合键入电子邮件地址的其他键的键盘 |
Nintendo Network Account | 带有网络账号键的键盘 |
Social | 键盘与常用于社交媒体上的符号键,如Twitter |
Search | 键盘上带有“.” 空格键旁边的键,适合键入搜索词 |
Character Validatior:字符验证类型,有整数、小数、字母数字、名字、Email等
按需设置咯如果上面还不满足你的设置,想要更加严格的限制,那么请往下看
四、代码限制输入字符
比如说用正则表达式来判断输入的字符串是否符合格式,符合格式就不管,不符合格式就把赋值输入的字符串减一位的字符串,也就相当于删除掉最后一位
关于正则表达式的应用可以看我另一篇文章:
4-1、限制输入的字符串0-9 a-f A-F
using System.Text.RegularExpressions;using UnityEngine;using UnityEngine.UI;public class Input_Test : MonoBehaviour{ InputField m_InputField; private void Awake() { m_InputField = GetComponent(); m_InputField.onValueChanged.AddListener(OnInputFieldValueChang); } private void OnInputFieldValueChang(string inputInfo) { Regex reg = new Regex("^[A-Fa-f0-9]+$"); if (reg.IsMatch(inputInfo)) { m_InputField.text = inputInfo; } else { if (m_InputField.text == "") { m_InputField.text = ""; } else { m_InputField.text = inputInfo.Substring(0, inputInfo.Length - 1); } } }}
转载地址:https://itmonon.blog.csdn.net/article/details/108074171 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月16日 04时58分45秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
Flutter 使用插件打开相册、相机
2019-04-30
libuv实现tcp代理服务器
2019-04-30
libuv使用不当导致的内存泄漏
2019-04-30
libuv实现ping包发送和接收
2019-04-30
linux-arm编译报错m4: unrecognized option ‘--gnu‘
2019-04-30
基础架构系列篇-系统CENTOS7安装jdk8
2019-04-30
基础架构系列篇-CENTOS7安装NGINX
2019-04-30
系统运维篇-常用的LINUX指令小计
2019-04-30
基础架构系列篇-系统centos7中安装mysql8.0.23(已更新)
2019-04-30
基础架构系列篇-系统centos7中DOCKER安装REDIS(已更新)
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-系统centos7中docker安装rabbitmq
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
个人电商项目,基于uni-app+ springcloud +VUE技术
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30