unity3d 5 InputField 非法路径文件名字符 输入过滤

转载请保留原文链接:http://blog.csdn.net/andyhebear/article/details/51361747

    void Start() {
        if (this.Button == null) {
            this.Button = this.GetComponentInChildren<UI_ButtonClick>();
        }
        if (this.InputText == null) {
            this.InputText = this.GetComponentInChildren<InputField>();
        }
        this.Button.OnClickEvent += Button_OnClickEvent;
        this.InputText.onValidateInput = _OnValidateInput;
        this.InputText.onEndEdit.AddListener(input_OnEndEdit);
    }
    char _OnValidateInput(string text, int charIndex, char addedChar) {
        if (!_isValidChar(addedChar)) return '\0';//返回空
        return addedChar;
    }
    //非法字符列表
    private bool _isValidChar(char addedChar) {
        //char[] invalid1 =System.IO.Path.GetInvalidFileNameChars();
        //for (int i = 0; i < invalid1.Length; i++) {
        //    if (invalid1[i] == addedChar) {
        //        return false;
        //    }
        //}
        //char[] invalid2=System.IO.Path.GetInvalidPathChars();
        //for (int i = 0; i < invalid2.Length; i++) {
        //    if (invalid2[i] == addedChar) {
        //        return false;
        //    }
        //}
        for (int i = 0; i < InvalidFilePathNameChars.Length; i++) {
            if (((int)addedChar) == (int)InvalidFilePathNameChars[i]) {
                return false;
            }
        }
        for (int i = 0; i < InvalidCustomChars.Length; i++) {
            if (addedChar == InvalidCustomChars[i]) {
                return false;
            }
        }
        return true;
    }
    /// <summary>
    /// 非法文件名路径 字符char值
    /// GetInvalidFileNameChars(),GetInvalidPathChars()
    /// </summary>
    private static readonly byte[] InvalidFilePathNameChars = new byte[]{
      34,60,62,124,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
      21,22,23,24,25,26,27,28,29,30,31,58,42,63,92,47
    };
    /// <summary>
    /// 自定义非法字符
    /// </summary>
    private static readonly char[] InvalidCustomChars = new char[]{
        '\'','"','~','`','!','@','#','$','%','^','&','*','(',')','+','=','>','<',
        '|','{','}','/','\\',':',';',',','?'
    };

    /// <summary>
    /// 判断字符的Unicode值是否是汉字
    /// </summary>
    /// <param name="code">字符的Unicode</param>
    /// <returns></returns>
    protected static bool IsChineseLetter(int code) {
        int chfrom = System.Convert.ToInt32("4e00", 16);    //范围(0x4e00~0x9fff)转换成int(chfrom~chend)
        int chend = System.Convert.ToInt32("9fff", 16);

        if (code >= chfrom && code <= chend) {
            return true;     //当code在中文范围内返回true

        }
        else {
            return false;    //当code不在中文范围内返回false
        }

        return false;
    }
 

时间: 2024-10-12 05:02:01

unity3d 5 InputField 非法路径文件名字符 输入过滤的相关文章

Hello.class所在路径下, 输入命令:java Hello.class,会出现什么结果,为什么?

所在路径下, 输入命令:java Hello.class: 因为DOS没有规定路径,所有么有在默认路径下找到Hello.class文件,导致提示 错误: 找不到或无法加载主类 Hello.class.

Windows - 你可以在Windows中做出一个全路径文件名(Fully Qualified File Name)长度超出MAX_PATH=260字节的文件

在任意一个目录下新建一个文件夹. 在该新建文件夹下创建任意一个文件:重命名该文件,使文件名长度不能再长为止. 重命名该新建文件夹,使该文件夹的名字长度更长. 综上,你就在Windows中做出了一个全路径文件名长度超出MAX_PATH=260字节的文件. Windows - 你可以在Windows中做出一个全路径文件名(Fully Qualified File Name)长度超出MAX_PATH=260字节的文件

如何实现select组件的选择输入过滤作用

实现select组件的选择输入过滤作用的js代码如下: /** *其中//******之间的部分显示的是在没有选择输入过滤功能的代码上加入的功能代码 ** / /** * @description This plugin allows you to make a select box editable like a text box while keeping it's select-option features * @description no stylesheets or images

Vanilla Masker – 功能强大的输入过滤插件

Vanilla Masker 是一个纯 JavaScript 实现的输入内容过滤和自动转换插件.现在你可以使用一个简单而纯粹的 JavaScript 库来控制你的 input 元素,而不需要加载 jQuery,Zepto 或者其它框架.不用担心兼容性,因为这是一个跨浏览器和跨设备的库. 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[附源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12款经典的白富美型 jQuery 图片轮播插件 让网站动起来!12款优秀的 jQuer

输入过滤

//输入过滤 同时去除连续空白字符可参考扩展库的remove_xssfunction get_replace_input($str,$rptype=0){ $str = stripslashes($str); $str = htmlspecialchars($str); $str = get_replace_nb($str); return addslashes($str);}//去除换行function get_replace_nr($str){ $str = str_replace(arra

字节/字符——输入/输出流

一:1.计算机如何存储中文的? 当前平台默认编码集 :GBK 一个中文两个字节第一个字节:一定是负数第二个字节:一般是负数,可能也会是正数,不会影响的结果.*/public class StringDemo {public static void main(String[] args) {//定义一个字符串// String str = "abc" ;// String str = "我爱你中国" ;String str = "你好" ;//[-

批处理系列(14) - 路径/时间/字符切分等DEMO操作

结合本系列文章第一篇,看本文. 本篇熟悉操作文件路径.时间,温习字符切分. 路径 @echo off @REM @Author: [email protected] :GTCONTINUE @echo 正在运行的这个批处理: @echo 完全路径[%%0]:%0 @echo 去掉引号[%%~0]:%~0 @echo 所在分区[%%~d0]:%~d0 @echo 所处路径[%%~p0]:%~p0 @echo 文件名[%%~n0]:%~n0 @echo 扩展名[%%~x0]:%~x0 @echo.

【Unity3D】利用物体碰撞检测、键盘输入处理完成平衡球游戏

物体碰撞检测是游戏编程里面非常常用的功能,一旦碰到就怎么怎么样,比如掉血等.Unity3D直接就提供了物体碰撞检测的接口,实现起来很方便.借此功能,完成了一个平衡球游戏,同时说明Unity3D的物体碰撞检测.键盘输入处理的检测的使用.游戏如下图所示: 一.场景布置 1.UI方面布置如下所示,基本就是<[Unity3D]对话框.隐藏与显示.拖拽>(点击打开链接)的内容,不赘述了.StartModal和GameoverModal本质是Image,将他们重叠在一起,一会儿将用脚本隐藏Gameover

【转】VC获取当前程序文件的路径,文件名以及路径+文件名

1.方法1 TCHAR pBuf[MAX_PATH]; //存放路径的变量 GetCurrentDirectory(MAX_PATH, pBuf); //获取程序的当前目录 _tcscat_s(pBuf, _T("\\")); _tcscat_s(pBuf, AfxGetApp()->m_pszExeName); _tcscat_s(pBuf, _T(".exe")); //获取程序的全文件名 2.方法2 //函数返回应用程序所在的路径 CString Ret