abcd:123
abcd.replace(":",":")

解决方案 »

  1.   

    str.replace(/:/g, ":");  //楼主的只能替换一个
      

  2.   

    这个我使用了,但并不产生替换呀
    我的代码如下,请大侠指点:
    <input onkeydown="event.srcElement.value.replace(":",":")" value="abc:123">
      

  3.   

    var newstring = str.replace(/:/g, ":"); 才对,另谢谢钻石老大补充
      

  4.   

    <input onblur="this.value=meizz(this.value)">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function meizz(str)
    {
      var tmp = '';
      for(var i=0;i<str.length;i++)
      {
        tmp += String.fromCharCode(str.charCodeAt(i)-65248)
      }
      return tmp
    }
    alert(meizz('abcdefghijklmnopqrstuvwxyz1234567890'));
    alert(meizz('~`!@#$%^&*()_+|-={}[]:";<>?,./\''));
    //-->
    </SCRIPT>
      

  5.   

    65248是utf-8中全角英数和对应半角英数内码的差值(排列顺序是一样的,所以计算差值就可以了)
      

  6.   

    /**//// <summary>
            /// 转全角的函数(SBC case)
            /// </summary>
            /// <param name="input">任意字符串</param>
            /// <returns>全角字符串</returns>
            ///<res>
            ///全角空格为12288,半角空格为32
            ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
            ///</res>        
            public string ToSBC(string input)
            {
                //半角转全角:
                char[] c=input.ToCharArray();
                for (int i = 0; i < c.Length; i++)
                {
                    if (c[i]==32)
                    {
                        c[i]=(char)12288;
                        continue;
                    }
                    if (c[i]<127)
                        c[i]=(char)(c[i]+65248);
                }
                return new string(c);                
            }
            /**//// <summary>
            /// 转半角的函数(DBC case)
            /// </summary>
            /// <param name="input">任意字符串</param>
            /// <returns>半角字符串</returns>
            ///<res>
            ///全角空格为12288,半角空格为32
            ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
            ///</res>
            public string ToDBC(string input)
            {    
                char[] c=input.ToCharArray();
                for (int i = 0; i < c.Length; i++)
                {
                    if (c[i]==12288)
                    {
                        c[i]= (char)32;
                        continue;
                    }
                    if (c[i]>65280 && c[i]<65375)
                        c[i]=(char)(c[i]-65248);
                }    
                return new string(c);
            }
      

  7.   

    <input onblur="this.value=hotooReplace(this.value)">
    <script language="JavaScript">
    <!--
    function hotooReplace( as ) {
       a = new Array('a', 'b', 'c', 'd', 'e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A', 'B', 'C', 'D', 'E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','~','`','!','@','#','$','%','^','&','*','(',')','_','+','|','-','=','{','}','[',']',':','"',';','<','>','?',',','.','/','\',''');   b = new Array('a', 'b', 'c', 'd', 'e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','x','A', 'B', 'C', 'D', 'E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0','~','`','!','@','#','$','%','^','&','*','(',')','_','+','|','-','=','{','}','[',']',':','"',';','<','>','?',',','.','\/','\\','\'');   for (var i = 0; i < a.length;i++) {
          as = as.replace(eval('new RegExp(/' + a[i] + '/g)'), b[i]) ;
       }
       return as ;
    }alert(hotooReplace('abbaab')) ;
    //-->
    </script>
      

  8.   

    在我的页面中(win2003server+ie6.0.3790)使用了梅老大的代码可是转换后显示出来的却是:&#3233;&#2929;&#2642;&#2355;&#2068;&#1781;&#1494;&#1207;何故呀??再请指点!!
      

  9.   

    "XXX"=replace("X'XX","'", ":");