使用js脚本如何进行客户端验证时出现乱码怎么办?

<script language='javascript' src='http://www.shiqiaotou.com/donetk/Header.js'></script>

      一般的aspx页面中的控件需要进行验证,比如说必须输入时间类型,必须是非负整数等等.
为了统一,我将函数统一下在了Validate.js文件里.这样的话,页面再需要验证时只需要调用.js里的函数就可以了.
    
      在aspx页面上使用js脚本,需要增加代码:

  < script  language ="javascript"  src ="Script/Validate.js" ></ script >


这样就可以调用js中的函数了.
Validate.js的函数片段:

/*去掉首尾空格*/
String.prototype.Trim 
=   function ()
{
    
var str;
    str 
= this.replace(/(^/s*)|(/s*$)/g, "");
    
return str;
}


/*是否为非负整数:*/  
function  IsInt(obj)
{
    
var str=obj.value;
    str
=str.Trim();
    
if(/^/d+$/.test(str)==false)
        
{
            alert('/u8BF7/u8F93/u5165/u975E/u8D1F/u6574/u6570'); 
            obj.value
="";
            obj.focus();
        }

 }


假设需要myTextBox失去焦点时调用Validate.js的IsInt(obj)函数:

< asp:textbox  id ="myTextBox"  onblur ="IsInt(this);"  runat ="server" ></ asp:textbox >

这样一般就可以了,可是偶这里却是当验证无法通过时,出现乱码:

检查web.config文件下的<globalization >块.

< globalization  requestEncoding ="utf-8"  responseEncoding ="utf-8"  fileEncoding ="utf-8"    />

没有问题,再看页面部分:

< META  HTTP-EQUIV ="Content-Type"  content ="text/html; charset=utf-8" >

也没有问题,晕@#!@$
还好公司有高手帮忙,整了一个"中文编码批量转换工具(.wsf文件)"使汉字转换为Unicode字符.
居然就可以了.
使用:
为了方便,可以将1.wsf文件放桌面上,同时放一个2.txt文件用来承载汉字.
开始工作:
A. 用鼠标把2.txt拉进1.wsf里,这个时候会弹出一个文本框,点击确定.
B. 接下来再看2.txt,则已经转换完毕.
    假设汉字为: "请输入非负整数"
    则转化之后为:     &#x8BF7;&#x8F93;&#x5165;&#x975E;&#x8D1F;&#x6574;&#x6570;
C.接下来将&#x 替换为/u   再去掉分号.
   得到:    /u8BF7/u8F93/u5165/u975E/u8D1F/u6574/u6570

本来好好的 alert('请输入非负整数');
最后更改为: alert('/u8BF7/u8F93/u5165/u975E/u8D1F/u6574/u6570');
这样再弹出是就不会是乱码,而是"请输入非负整数".

点击这里进行工具下载 : 中文编码转换工具
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有<script language='javascript' src='http://www.shiqiaotou.com/donetk/Footer.js'></script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值