1.截取不定字符串中指定字串中的字符。
输入所需字符串<input type="text" id="str" /><br><br>
截取从<input type="text" id="strStart" />到<input type="text" id="strEnd" />之间的字符<br><br>
<button οnclick="getTxt()">获得截取内容</button>
2.比较两个字符串,将不同的部分取出。
输入被比字符串<input type="text" id="comStr1" /><br><br>
输入比较字符串<input type="text" id="comStr2" /><br><br>
输入分隔符<input type="text" id="splitChar" /><br><br>
<button οnclick="getCompare()">常规方法获得比较结果</button>
<button οnclick="getCompare2()">正则表达式方法获得比较结果</button>
js code
var $ = function(id){ //设定通用的函数变量
return document.getElementById(id).value;
}
function getTxt(){
var sS = $("str").indexOf($("strStart")); //获取起始字符第一个字母的位置,在VBS中用的是InStr这个函数
var sE = $("str").indexOf($("strEnd")); //获取结束字符第一个字母的位置
var lS = $("strStart").length; //获得起始字符的长度
if((sS>-1)&&(sE>-1)){ //判断输入合法
var x = $("str").substring(sS+lS,sE); //substring(start,end);substr(start,length)两个函数不要搞混了
alert(x);
}
else alert("您输入有误,请重新输入。")
}
function getCompare(){
var sC = $("splitChar");
var myArr = new Array();
myArr = $("comStr2").split(sC);
var cTxt = $("comStr1");
for(i=0;i<myArr.length;i++){
if(myArr[i]!=""){
cTxt = cTxt.replace(myArr[i]+sC,"")
}
cTxt = cTxt.replace(sC+sC,sC)
}
alert("第一个字符串中有而第二个字符串中没有的字符是\n" + cTxt);
}
function getCompare2(){
var sC = $("splitChar");
var s = new Array();
s = $("comStr2").split(sC);
var cTxt2 = $("comStr1");
for(i=0;i<s.length;i++){
if (s[i]!=""){
cTxt2 = cTxt2.replace(new RegExp(s[i]+sC+"?"),"") //有变量,因此必须使用正则表达式的创建对象语法,使用直接量语法/s[i]/将会变成"/s[i]/"字符串
//s[i]+sC+"?" 是正则表达式语法,将分隔变量带入(以逗号为例)即为s[i]+',?' ;在依次将s[i]带入,该表达式的意思是选择变量为s[i] / s[i],这两种格式
}
}
alert("第一个字符串中有而第二个字符串中没有的字符是\n" + cTxt2);
}