zoukankan      html  css  js  c++  java
  • 输入的全角字符转换成半角字符--css、js、ASP.NET

    我们经常需要用户在表单中输入数字,用户不小心使用了全角状态输入数字,但是在程序中全角的数字是不能直接转换为数字的。这种全角数字的错误处理起来就有些麻烦了。对一些没有经验用户来说明明已经输入数字了,怎么还是提示输入不是数字呢?这样就很影响用户体验。

    css解决方法:

    在input的style设置ime-mode为disabled,禁用中文输入法。

    <asp:TextBox ID="tbLink" runat="server" MaxLength="32" style="ime-mode:disabled;"></asp:TextBox>

    优点:简单实用,

    缺点:只能在ie浏览器中使用。

    js解决方法:

    //原生JavaScript全角转换为半角函数 
    function ToCDB(str){
      var result = '';
      for(var i=0; i < str.length; i++){
        code = str.charCodeAt(i);
        if(code >= 65281 && code <= 65374){
          result += String.fromCharCode(str.charCodeAt(i) - 65248);
        }else if (code == 12288){
          result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
        }else{
          result += str.charAt(i);
        }
      }
     return result;
    }

    ASP.NET(c#)解决方法:

         /// <summary>
            /// 转换为半角字符串
            /// </summary>
            /// <param name="text"></param>
            /// <returns></returns>
            public static string ConvertToHalf(string text) 
            {
                char[] c = text.ToCharArray();
    
                for (int i = 0; i < c.Length; i++)
                {
                    byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);
                    if (b.Length == 2)
                    {
                        if (b[1] == 255)
                        {
                            b[0] = (byte)(b[0] + 32);
                            b[1] = 0;
                            c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];
                        }
                    }
                }
                return new string(c);
            }
  • 相关阅读:
    springmvc 与 springfox-swagger2整合
    [转]TensorFlow如何进行时序预测
    CORSFilter
    [转]完美解决)Tomcat启动提示At least one JAR was scanned for TLDs yet contained no TLDs
    基础开发平台要求
    ssm配置
    mysql重置root密码,并设置可远程访问
    angularjs写日期组件
    看angularjs项目的一些知识记录
    AngularJS 指令的 Scope (作用域)
  • 原文地址:https://www.cnblogs.com/elves/p/3522196.html
Copyright © 2011-2022 走看看