str = "select * from ddddd select"
alert(str.replace(/(select )|(select")/g, "SELECT"));提供一个思路!

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JScript">
    //找出s2中s1不在‘’的字符并替换,假定循环中的‘必须成对出现
    function findRe(s1,s2)
    {
    var s3 = s1.toUpperCase();
    s1Length =s1.length;
    var pre =0;           //store the pre position of s1
    for(var i=0;;)
    {  
    var j = s2.indexOf("'",i);
    pre =s2.indexOf(s1,pre);
    if(pre==-1) break;       
    if(j==-1)                         //no '
    {
    s2 =s2.substring(0,pre) +s3 +s2.substring(pre+s1Length+1,s2.length); 
    }
    if(j!=-1){       //has '
    if(j>pre){          // ' 在s1后,s1不在'中,进行替换
    s2 =s2.substring(0,pre) +s3 +s2.substring(pre+s1Length+1,s2.length);}
    if(j<pre){         //s1在'中,将i的值和pre的值跳到后面一个'的后面
    i = s2.indexOf("'",j+1)+1;
    pre = i;      
    }
    } }
    alert(s2);
    }</SCRIPT>
    <body >
    <form name=form1>
    替换词:<input type=text name=s1><br>
    被替换语句:<input type=text size=50 name=s2><br>
    <input type=button onclick=findRe(document.form1.s1.value,document.form1.s2.value) value="chang">
    </body>
      

  2.   

    <SCRIPT LANGUAGE="JScript">
    //找出s2中s1不在‘’的字符并替换,假定循环中的‘和必须成对出现
    function findRe(s1,s2,startChar,endChar)
    {
    var s3 = s1.toUpperCase();
    s1Length =s1.length;
    var pre =0;           //store the pre position of s1
    for(var i=0;;)
    {  
    var j = s2.indexOf(startChar,i);
    pre =s2.indexOf(s1,pre);
    if(pre==-1) break;       
    if(j==-1)                         //no '
    {
    s2 =s2.substring(0,pre) +s3 +s2.substring(pre+s1Length+1,s2.length); 
    }
    if(j!=-1){       //has '
    if(j>pre){          // ' 在s1后,s1不在'中,进行替换
    s2 =s2.substring(0,pre) +s3 +s2.substring(pre+s1Length+1,s2.length);}
    if(j<pre){         //s1在'中,将i的值和pre的值跳到后面一个'的后面
    i = s2.indexOf(endChar,j+1);
    pre = i;   
     
    }
    } }
    alert(s2);
    }</SCRIPT>
    <body >
    <form name=form1>
    替换词:<input type=text name=s1><br>
    被替换语句:<input type=text size=50 name=s2><br>
    开始的符号:<input type=text name=s3><br>
    结束的符号:<input type=text name=s4>
    <input type=button onclick=findRe(document.form1.s1.value,document.form1.s2.value,document.form1.s3.value,document.form1.s4.value) value="chang">
    </body>
      

  3.   

    替换好办你说的方法是可行的,但我要查找的是主SQL语句的“WHERE”和“ORDER BY”位置而不是其中包含的SQL子语的位置呢?
      

  4.   

    替换就是查找出主SQL语句的“WHERE”和“ORDER BY”位置再进行替换的呀。