输入的全角字符转换成半角字符--css、js、ASP.NET
2014-01-16 11:24
721 查看
我们经常需要用户在表单中输入数字,用户不小心使用了全角状态输入数字,但是在程序中全角的数字是不能直接转换为数字的。这种全角数字的错误处理起来就有些麻烦了。对一些没有经验用户来说明明已经输入数字了,怎么还是提示输入不是数字呢?这样就很影响用户体验。
css解决方法:
在input的style设置ime-mode为disabled,禁用中文输入法。
优点:简单实用,
缺点:只能在ie浏览器中使用。
js解决方法:
ASP.NET(c#)解决方法:
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); }
相关文章推荐
- js实现全角字符转换成半角字符
- 将全角字符转换成半角的js方法
- asp.net简体字转繁体字的类库,半角全角转换
- 不能输入全角字符 全角转换为半角 去掉全角下的所有空格
- 不能输入全角字符 全角转换为半角 去掉全角下的所有空格
- JS 全角与半角字符间转换
- 转:js控制asp.net服务器端控件textbox设置为多行时输入字符长度
- js控制asp.net服务器端控件textbox设置为多行时输入字符长度
- js控制asp.net服务器端控件textbox设置为多行时输入字符长度
- asp.net使用httphandler打包多CSS或JS文件以加快页面加载速度
- ASP.NET MVC使用Bundle来打包压缩js和css
- ASP.NET MVC 4 RC的JS/CSS打包压缩功能
- 禁止 WORDPRESS 将英文半角符号转换成全角符号(字符转义)
- [VBA]字符转换代码:全角转半角,平假名转片假名,首字母大写
- ASP.net textbox输入自动转换大小写字母
- ASP.NET 中Textbox只能输入数字,不能输入其他字符--转
- ASP.NET动态引用样式表(css)和脚本(js)文件
- asp(javascript)全角半角转换代码 dbc2sbc
- ASP.Net一键自动化更新代码、编译、合并dll、压缩js、css、混淆dll、zip打包、发布到测试环境的bat批处理
- Asp.net 后台添加CSS、JS、Meta标签