JS判定英文符号转中文符号

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JS判定英文半角符号并转成中文符号</title>
</head>
<body>
<script>
//英文符号正则表达式 !@#$%^&*()_+ 等
var reg = /[\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]/;
var str = "$测 试#";

//验证是否是 英文符号
function isValid(str) { 
return reg.test(str); 
}

//英文符号转中文符文
function half2all(str)
{
  var tmp = '';
  //遍历字符串 - 如果是英文符号转成中文符号
  for(var i=0;i<str.length;i++)
  {
    console.log(str[i]);
    if(isValid(str[i])){
     tmp += String.fromCharCode(str.charCodeAt(i)+65248)
    }else{
     tmp += str[i]
    }
  }
  return tmp
}

if(isValid(str)){
document.write('原来的:'+str);
document.write('<br/>');
document.write('转换后的:'+half2all(str));
}

</script>
</body>
</html>