这个是把全角转半角的代码
有几处不是很明白<script language=javascript>   String.prototype.dbc2sbc = function ()   
{   
     return this.replace(/[\uff01-\uff5e]/g,   
         function(a){   
             return String.fromCharCode(a.charCodeAt(0)-65248);   
         }).replace(/\u3000/g," ");   
}   
document.write("ABC 123,我们都是好朋友".dbc2sbc());   
</script>  
<script language=javascript>
String.prototype.dbc2sbc = function ()
{
     return this.replace(/[\uff01-\uff5e]/g,
         function(a)                           //不明白这里的a怎么没定义啊?指的是什么呢
         {             return String.fromCharCode(a.charCodeAt(0)-65248);
         }).replace(/\u3000/g," ");
}
document.write("ABC 123,我们都是好朋友".dbc2sbc());
</script>
还一个地方是
return this.replace(/[\uff01-\uff5e]/g,
这里的[\uff01-\uff5e]/
是什么意思
谢谢啦

解决方案 »

  1.   

    [\uff01-\uff5e]UTF-8的一个字符集
    比如说
    [a-z]
    代表了a-z
    \uff01-\uff5e
    就是\uff01-\uff5e
    猜测是对应的全角字符吧
      

  2.   

    给你找了一个,自己去看看吧
    \uff01-\uff5e
      

  3.   

    给你找了一个,自己去看看吧
    http://blog.sina.com.cn/s/blog_3eaf68c70100b1nl.html
      

  4.   

    恩 这个问题明白了
    但代码的那个问题就是想不明白
    那是的a应该是代表那个字符串
    但在js中有什么规定吗
    没对a定义   怎么就一定是代指的那个字符串呢
      

  5.   

    给你找了一个,自己去看看吧
    http://blog.sina.com.cn/s/blog_3eaf68c70100b1nl.html
      

  6.   

    这个function(a)就是表示找的时候,就把这个值传进来.你可以参考中的String的replace方法的解释
    http://www.w3school.com.cn/js/jsref_replace.asp
      

  7.   

    注意:ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。
      

  8.   

    恩  但这段话 有一个地方  不知道怎么用

    接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。
     就是当函数是多参的时候
      

  9.   

    name = 'aaa bbb ccc';
    uw=name.replace(/\b\w+\b/g, function(word,i){
    alert(i);
    return word.substring(0,1).toUpperCase()+word.substring(1);}
      );
      

  10.   

    HTML 代码:<button>Change colors</button>
    <span></span> 
    <div></div> 
    <div></div><div></div> 
    <div></div>
    <div id="stop">Stop here</div> 
    <div></div><div></div>
    <div></div>
    jQuery 代码:$("button").click(function () { 
    $("div").each(function (index, domEle) { 
      // domEle == this 
      $(domEle).css("backgroundColor", "yellow");  
      if ($(this).is("#stop")) { 
      $("span").text("Stopped at div index #" + index); 
      return false; 
      } 
    });
    });看看js吧。好多呢
      

  11.   


    name = '123154';
    uw=name.replace(/(12)(31)/g, function(word,d,i,o){
                    alert(d);
                     alert(i);
    alert(o);
    return word.substring(0,1).toUpperCase()+word.substring(1);}
      );
      

  12.   

    太感谢了
    但你这有个小错误   ----笔误吧....你的 replace  少了个  闭合括号这个小误
    有个有意思的  结果
    结果 d=12
    i=31   
    o=0
    也许是少了个括号  无法确认是最后一个参数  默认为0....
    刚学  js  谢谢 awusoft  跟帖  帮助  嘿嘿 
    如果 加入第五个参数  k
    这时打出的k=123154这时 最后的参数 是  整个字符串 
    谢谢这位大哥  晚上结贴 ....