var t1="This is {0},{1},{2}"; var t2=t1.split('{'); var sum=0; for(var i=0;i<t2.length;i++) { var k=t2[i].indexOf('}'); if(k>-1) { sum++;//用于统计有多少个{} alert(t2[i].substring(0,k)); } } </script>
<script> String.prototype.trim = function() { return this.replace(/(^s*)|(s*$)/g, ""); }// 从0开始,并且是连贯的 return true ; else return false function checkString(str) { var arr=str.split('{'); var c = 0; for(var i=0;i<arr.length;i++) { var k=arr[i].indexOf('}'); if (k>0) { if (arr[i].substring(0,k).trim()!=c) return false; c++; } } return true; } var s1="This is {0},{1},{2}"; alert(checkString(s1)); </script>
var str = 'This is {01234},{013},{12}'; var arr = [];str.replace(/\{(0\d*)\}/gi,function(_match,node,index){ arr.push(node); });var count = arr.length; //统计个数function createValidateCode(len){ var arr_tem = []; len--; while(len >= 0) arr_tem.push(len--); return arr_tem.reverse().join(''); }
<script>
var t1="This is {0},{1},{2}";
var t2=t1.split('{');
var sum=0;
for(var i=0;i<t2.length;i++)
{
var k=t2[i].indexOf('}');
if(k>-1)
{
sum++;//用于统计有多少个{}
alert(t2[i].substring(0,k));
}
}
</script>
<script>
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}// 从0开始,并且是连贯的 return true ; else return false
function checkString(str) {
var arr=str.split('{');
var c = 0;
for(var i=0;i<arr.length;i++)
{
var k=arr[i].indexOf('}');
if (k>0)
{
if (arr[i].substring(0,k).trim()!=c) return false;
c++;
}
}
return true;
}
var s1="This is {0},{1},{2}";
alert(checkString(s1));
</script>
var arr = [];str.replace(/\{(0\d*)\}/gi,function(_match,node,index){
arr.push(node);
});var count = arr.length; //统计个数function createValidateCode(len){
var arr_tem = [];
len--;
while(len >= 0)
arr_tem.push(len--);
return arr_tem.reverse().join('');
}
for(var i = 0;i < count;i++)
{
if(arr[i] === createValidateCode(arr[i].length))
alert(arr[i]+"是合法的字符串");
}
不知道是否符合要求...请指教
呵呵。。你理解错了。不过大体思路是这样的gengzhw 的回复是完整的~~
谢谢了
{
var reg = /This\sis\s((:?\{\d+\}\s*,*\s*)+)/; var result = str.match(reg);
//如果正则匹配不到,返回0
if(!result) return 0;
var a = result[1].split(/\}\s*,*\s*\{/);
//如果不是0开始,返回0
if(a[0] != "{0") return 0;
a[0] = 0;
a[a.length-1] = parseInt(a[a.length-1]);
for(var i=1; i<a.length; i++)
{
//如果不是递增,返回0
if(a[i] - a[i-1] != 1) return 0;
}
//返回个数
return a.length;
}alert(test("This is {0},{3}")); //display 0
alert(test("This is {0},{1},{2}, {3}, {4},{5},{6},{7},{8},{9},{10},{11}")); //display 12
</script>