Unity NGUI input 长度与输入类型设置

Unity NGUI input 输入长度与输入类型设置,可限制输入的长度和输入的类型

操作方法

  • 01

    UIInput 脚本预览,找到characterLimit属性,设置指定长度值UIInput.characterLimit=6;

  • 02

    UIInput 脚本预览,找到validation属性,定义如下 public enum Validation { None, Integer, Float, Alphanumeric, Username, Name, } ,设置只能输入数字UIInput.validation=UIInput.Validation.Integer

  • 03

    限制输入类型内部实现方法,可参考 protected char Validate (string text, int pos, char ch) { // Validation is disabled if (validation == Validation.None || !enabled) return ch; if (validation == Validation.Integer) { // Integer number validation if (ch >= '0' && ch <= '9') return ch; if (ch == '-' && pos == 0 && !text.Contains("-")) return ch; } else if (validation == Validation.Float) { // Floating-point number if (ch >= '0' && ch <= '9') return ch; if (ch == '-' && pos == 0 && !text.Contains("-")) return ch; if (ch == '.' && !text.Contains(".")) return ch; } else if (validation == Validation.Alphanumeric) { // All alphanumeric characters if (ch >= 'A' && ch <= 'Z') return ch; if (ch >= 'a' && ch <= 'z') return ch; if (ch >= '0' && ch <= '9') return ch; } else if (validation == Validation.Username) { // Lowercase and numbers if (ch >= 'A' && ch <= 'Z') return (char)(ch - 'A' + 'a'); if (ch >= 'a' && ch <= 'z') return ch; if (ch >= '0' && ch <= '9') return ch; } else if (validation == Validation.Name) { char lastChar = (text.Length > 0) ? text[Mathf.Clamp(pos, 0, text.Length - 1)] : ' '; char nextChar = (text.Length > 0) ? text[Mathf.Clamp(pos + 1, 0, text.Length - 1)] : '\n'; if (ch >= 'a' && ch <= 'z') { // Space followed by a letter -- make sure it's capitalized if (lastChar == ' ') return (char)(ch - 'a' + 'A'); return ch; } else if (ch >= 'A' && ch <= 'Z') { // Uppercase letters are only allowed after spaces (and apostrophes) if (lastChar != ' ' && lastChar != '\'') return (char)(ch - 'A' + 'a'); return ch; } else if (ch == '\'') { // Don't allow more than one apostrophe if (lastChar != ' ' && lastChar != '\'' && nextChar != '\'' && !text.Contains("'")) return ch; } else if (ch == ' ') { // Don't allow more than one space in a row if (lastChar != ' ' && lastChar != '\'' && nextChar != ' ' && nextChar != '\'') return ch; } } return (char)0; }

(0)

相关推荐

  • HTML中input可以创建的输入类型有哪几种

    很多新手在使用html的input创建输入类型的时候都应该会纠结自己明明写得好好的input代码就是不能实现呢?我觉得应该是你不太清楚input中几种输入类型的用法吧! 操作方法 01 首先,我们要清 ...

  • excel怎么对单元格指定输入类型及显示批注?

    我们在编辑单元格时,需要对单元格输入的值进行约束,比如单元格中只能输入整数,输入其他值时会弹出报错提示. 有时候我们需要对单元格添加信息显示(批注),比如点选单元格,能显示此单元格修改者的信息. 下面 ...

  • 怎么将Windows server 2008的SMTP服务启动类型设置成手动

    今天,小编给大家介绍将Windows server 2008的SMTP服务启动类型设置成手动的方法,希望对大家有所帮助.具体如下:1. 首先,请将Windows server 2008 R2操作系统打 ...

  • 如何在Win10系统中根据文件类型设置默认开启程序

    今天给大家介绍一下如何在Win10系统中根据文件类型设置默认开启程序的具体操作步骤.1. 打开电脑,进入桌面,按键盘上的win+i组合键,调出设置页面.2. 找到设置页面下的应用选项,打开.3. 在打 ...

  • 手机随手记APP怎么将“图表类型”设置为“条形图”

    随手记可APP还是非常好用的,它可以帮助我们记录自己的收入以及支出.那么今天小编跟大家分享下手机随手记APP怎么将"图表类型"设置为"条形图".具体如下:1.首 ...

  • win电脑中的麦克风输入怎么设置启动

    今天给大家介绍一下win电脑中的麦克风输入怎么设置启动的具体操作步骤.1. 打开电脑,进入桌面,点击任务栏右下角的声音图标2. 在打开的菜单中,点击下方的合成器选项3. 3如图,进入语音设置的窗口4. ...

  • 如何在QQ音乐中将MP3的写入类型设置为ID3v2

    今天跟大家介绍一下6如何在QQ音乐中将MP3的写入类型设置为ID3v2的具体操作步骤.1. 打开电脑,找到桌面上的QQ音乐图标,双击打开.2. 进入主页面后,点击右上角的登录图标,进行登录.3. 登录 ...

  • 怎么将win10系统电脑中DHCP Client服务的启动类型设置为自动

    当我们在使用win10系统电脑的时候,如果想要系统能够自动开启DHCP Client服务的话,应如何操作呢?接下来就由小编来告诉大家.具体如下:1. 第一步,打开电脑并在桌面找到此电脑图标,选中后点击 ...

  • 怎么按照文件类型设置win10系统默认应用

    现在大部分电脑都是win10系统,有些用户想知道怎么按照文件类型设置默认应用,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先按下[Win+I]快捷键打开[设置]窗口,接着根据下 ...