js簡單問題 var newvalue = value.replace(/[^\x00-\xff]/g, "**");的意思是把value对象(这里是字符串)里面不是\x00到\xff的字符全部替换为**,并把结果赋给对象newvalue 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 匹配单字节字符一般都用[^\x00-\xff]来匹配汉字等双字节字符你可以用下面的程序测试一下效果:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>HEX</title></head><body><script type="text/javascript">var digitArray = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');function toHex(n){ var result = '' var start = true; for(var i=32;i>0; ) { i -= 4; var digit = ( n >> i ) & 0xf; if(!start || digit != 0) { start = false; result += digitArray[digit]; } } return ( result == '' ? '0' : result );}function pad(str,len,pad){ var result = str; for(var i=str.length;i<len;i++) { result = pad + result; } return '\\x' + result;}function EncodeHex(value){ var str = value; var result = ""; for(var i=0;i<str.length;i++) { if( str.substring(i,i+1).match(/[^\x00-\xff]/g) != null ) { result += escape(str.substring(i,i+1), 1).replace(/%/g,'\\'); } else { result += pad(toHex(str.substring(i,i+1).charCodeAt(0)&0xff),2,'0'); } } return result;}</script><input type="text" id="t" value="" /><input type="button" value="转换成十六进制" onclick="alert(EncodeHex(document.getElementById('t').value))" /></body></html> (/[^\x00-\xff]/g这里多用于计算字符串的长度,将所有双字节字符替换为两个**.实例:<script type="text/javascript">var s='asbdfehr中国73824132我们';alert("["+s+"]的长度:"+s.replace(/[^\x00-\xff]/gi,'xx').length)</script> 有没有什么好的库让ie支持xpath 谁有用extjs4 框架(左边菜单是从数据库动态加载显示的)? 如何对百度地图API中的事件进行封装 什么是JavaScript跨域操作啊? js如何替换节点里面的href属性? 高手帮忙整一个JS ,在同一页面checkbox 全选而不会选到CheckBoxList 在JS脚本中,有没有键盘输入事件? 怎样取得获得焦点的对象? 初学Javascript,给大家送分! JavaScript能调用Jar包或者.so库中的代码吗? JS焦点图片代码改写!!! 如何判断复选框被选中
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>HEX</title>
</head><body>
<script type="text/javascript">
var digitArray = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');function toHex(n)
{
var result = ''
var start = true; for(var i=32;i>0; )
{
i -= 4;
var digit = ( n >> i ) & 0xf; if(!start || digit != 0)
{
start = false;
result += digitArray[digit];
}
} return ( result == '' ? '0' : result );
}function pad(str,len,pad)
{
var result = str; for(var i=str.length;i<len;i++)
{
result = pad + result;
} return '\\x' + result;
}function EncodeHex(value)
{
var str = value;
var result = ""; for(var i=0;i<str.length;i++)
{
if( str.substring(i,i+1).match(/[^\x00-\xff]/g) != null )
{
result += escape(str.substring(i,i+1), 1).replace(/%/g,'\\');
}
else
{
result += pad(toHex(str.substring(i,i+1).charCodeAt(0)&0xff),2,'0');
}
} return result;
}
</script>
<input type="text" id="t" value="" /><input type="button" value="转换成十六进制" onclick="alert(EncodeHex(document.getElementById('t').value))" />
</body></html>
这里多用于计算字符串的长度,将所有双字节字符替换为两个**.
实例:
<script type="text/javascript">
var s='asbdfehr中国73824132我们';
alert("["+s+"]的长度:"+s.replace(/[^\x00-\xff]/gi,'xx').length)
</script>