js中怎么截取不确定长度的字符串,截取后保留后面的部分

JavaScript019

js中怎么截取不确定长度的字符串,截取后保留后面的部分,第1张

function show(name,parm){

if(name=="abcd"){//此处name的值不固定

name = name.replace("abcd","c002b561-7bba-40bd-b394-522faf1f10e2")

//parm参数是从另一个地方传过来的,而且不能更改,传过来的时候拼接着name,后面的值是字符串拼接类型的,而且值是不固定的,如:

var parm = "name="+name+"&RIQI="+RIQI+"&GUIJI="+GUIJI+"&JGLEIBIE="+JGLEIBIE+"&JGXZ="+JGXZ+"&CPLEIBIE="+CPLEIBIE+"

}

//--------------------------添加上下面的话----------------------------------

var num = parm.indexOf("&")//返回字符串中匹配子串的第一个字符的下标

var newparm= parm.substr(num) //截取起始下标为num到最后的字符串(你试一试我记得是num要是不对的话可能需要变为num+1)

alert(parm)

}

<table id="test">

<tr>

<td><input value="testsetsetestestsetsetsetset"></input></td>

<td><input value="aaabbbaaabbbaaa"></input></td>

<td><input value="testsetsetestestsetsetsetset"></input></td>

</tr>

<tr>

<td><input value="aaacccbbbbcccc"></input></td>

<td><input value="testsetsetestestsetsetsetset"></input></td>

<td><input value="testsetsetestestsetsetsetset"></input></td>

</tr>

</table>

<textarea name="txtBox" rows="7" cols="50" id="txtBox">

菊花台 (满城尽带黄金甲主题曲)

歌手:周杰伦 专辑:依然范特西

你的泪光 柔弱中带伤

惨白的月弯弯 勾住过往

夜太漫长 凝结成了霜

是谁在阁楼上冰冷的绝望

雨轻轻淌 朱红色的窗

我一生在纸上 被风吹乱

梦在远方 化成一缕霞

随风飘散 你的模样

菊花惨淡地伤 你的笑容已泛黄

花落人断肠 我心事静静淌

北风乱夜未央 你的影子剪不断

徒留我孤单在湖面生霜

</textarea><br>

<input type="text" value="输入要查询的内容" id="txtFind">

<input type="button" value="表查找" onclick="searchclick()">

<input type="button" value="简单查找" onclick="findText(txtFind.value)">

<script language="javascript">

var searchobj = new Object

var rng = new Object

searchobj.row = -1

searchobj.col = -1

function searchclick(){

findText2("test",txtFind.value)

}

function findText2(tabname,str){

var tab = document.getElementById(tabname)

var rowobj = tab.rows

//行数

var rownum = rowobj.length

if(searchobj.row != -1 &&searchobj.col != -1 ){

var trobj = tab.rows[searchobj.row]

//列数

var tdnum = trobj.cells.length

//定义一个变量,作为moveStart()函数的偏移量,即开始点跳过选择文本

var num = 0

if(document.selection)

num = document.selection.createRange().text.length

//每次调用函数,结束点都为末尾,而开始点是跳过选择文本后的新开始点

rng.moveStart("character",num)

rng.moveEnd("character",rowobj[searchobj.row].cells[searchobj.col].childNodes[0].value.length)

//搜索到后选择文本

if(rng.findText(str))

rng.select()

if(rng.text==str){

return

}

//如果上次查询结果是最后一列

if(searchobj.col <tdnum-1){

for(var ii=searchobj.col+1ii<tdnumii++){

rng = rowobj[searchobj.row].cells[ii].childNodes[0].createTextRange()

//搜索到后选择文本

if(rng.findText(str))

rng.select()

if(rng.text==str){

searchobj.col = ii

return

}

}

}

//如果上次查询结果不是最后一行

if(searchobj.row != rownum-1){

for(var i=searchobj.row+1i<rownumi++){

var trobj = tab.rows[i]

//列数

var tdnum = trobj.cells.length

for(var j=0j<tdnumj++){

if(rowobj[i].cells[j].childNodes[0].tagName == "INPUT"){

rng = rowobj[i].cells[j].childNodes[0].createTextRange()

//搜索到后选择文本

if(rng.findText(str))

rng.select()

if(rng.text==str){

searchobj.row = i

searchobj.col = j

return

}

}

if(i==rownum-1 &&j==tdnum-1){

searchobj.row = -1

searchobj.col = -1

findText2(tabname,str)

}

}

}

}

else{

searchobj.row = -1

searchobj.col = -1

findText2(tabname,str)

}

}

else

{

for(var i=0i<rownumi++){

var trobj = tab.rows[i]

//列数

var tdnum = trobj.cells.length

for(var j=0j<tdnumj++){

if(rowobj[i].cells[j].childNodes[0].tagName == "INPUT"){

rng = rowobj[i].cells[j].childNodes[0].createTextRange()

//搜索到后选择文本

if(rng.findText(str))

rng.select()

if(rng.text==str){

searchobj.row = i

searchobj.col = j

return

}

}

if(i==rownum-1 &&j==tdnum-1){

alert("没有您要查找的内容")

}

}

}

}

}

var rng = document.body.createTextRange()

function findText(str)

{

debugger

if(str=="")

return

//定义一个变量,作为moveStart()函数的偏移量,即开始点跳过选择文本

var num = 0

if(document.selection)

num = document.selection.createRange().text.length

//每次调用函数,结束点都为末尾,而开始点是跳过选择文本后的新开始点

rng.moveStart("character",num)

rng.moveEnd("character",txtBox.value.length)

//搜索到后选择文本

if(rng.findText(str))

rng.select()

//搜索到最后的范围还是找不到,则提示搜索完毕,并重新恢复rng最初的范围(否则无法执行新搜索)

if(rng.text!=str)

{

alert("搜索完毕")

rng = txtBox.createTextRange()

}

rng = txtBox.createTextRange()

}

</script>

usb摄像头万能驱动

版本:0.12

操作系统: Win9x/NT/2000/XP/

整理日期: 2005-6-8

文件大小: 366 K

地址:http://d01.it918.com:8089/20056/drive.it918.com_2005680938873.rar

摄像头像素的谎言(转)

进入2004年上半年,中国摄像头市场急剧膨胀,各方英雄纷纷登台表演。早些年在科幻电影中能看到的远距离面对面的交流,在今天这个时代,早成为普通百姓的现实。于是,无边落木,泥沙俱下。。。。一时间,鱼龙混杂,普通消费者难以辨别真假。

2000年前后,那个时候声卡市场非常的火爆,本来YAMAHA714是个非常好的声卡,市场大流行。一些不法商家操纵市场,将一些非常便宜的低档声卡,如4235,1816等等声卡芯片,打磨成YAMAHA734,在市场上疯狂销售。YAMAHA公司根本就从来没有研发过这个芯片,结果,谎言重复一千遍,成了真理。大江南北,长城内外,YAMAHA734声卡火爆销售,媒体也被蒙在鼓中。成了声卡历史上的最大笑话。。。。。

也许谎言重复一千遍真的会变成真理。看看国内的各个电脑城,遍地都是37万,38万,42万,45万,48万,80万,130万的摄像头,除了那些正规品牌坚守着商业原则,你只有相信,中国摄像头像素的世纪谎言也诞生了。。。。

普通消费者,不可能懂得那么多,他们都只能通过多少万像素来了解产品的整体性能,看着外面的摄像头的像素五花八门,有30万,35万,37万,38万,42万,45万,48万,80万,130万。。。。。面对铺天盖地的各种说法,究竟是谁在欺骗消费者,究竟是谁在导演这个中国摄像头像素的世纪谎言!!

让我们从以下产品的技术分析,看看事情的庐山真面目。

在了解之前,有必要先了解一下摄像头的构成,摄像头的成像过程就是将光信号数字化的过程。光线首先通过镜头,到达感光元件-可能是CCD,或者是CMOS,两者的作用都是将光线转换为数字信号,然后数字信号被传送到一个专门的外理器(DSP),进行图像信号增强以及压缩优化后再传输到电脑或者其它存储设备上,那么由此可以看到其中的每一个设备都对摄像头的整体性能有影响!

感光元件和我们稍后要讲的DSP是构成摄像头的主要部件,其中,价格最高的是传感器sensor.在光线通过镜头后,就落在感光元件上.因为成本的关系,目前摄像头的感光元件大都采用的是价廉物美的CMOS,感光元件由整齐排列的像素点组成,像素点越多,成像质量也就越好。也正因为像素是一个关键性的指标,因此不少商家在宣传中都会有意无意的抬高自己的这一指标,那么真实的情况是怎么样呢?

2004年初,因为韩国现代HY7131E----这个目前为止世界真正视频效果第一的摄像头传感器的停产,替代它的产品是现代HY7131R和micron360.他们的像素总数是651X487,约为31.7万像素,但这些像素并不能都是用来成像,像素排列的四周必须有几排像素用于颜色校正,而不能成像,再加上一些“坏点”,真正的像素也就只有640X480个像素点,约为30.7万像素,因此采用这一类型感光元件的摄像头,不管指标像素多高,其实有效像素都是640x480.至于有的产品可以有1024X768 =80万像素,1280X960=130万像素,如果产品采用的是以上CMOS传感器,那么都只能说是软件插值的像素。

现代HY7131R

简单的举例,以市场上低端的Sunplus561方案来说,此款产品为单芯片,产品驱动中都能调节到640X480,就是大家常说的软件插值30万像素,而商家也因此称它为30万像素的摄像头,有的不法商人称为35万,37万,38万等等。

正因为如此,那么前面讲的采用HY7131R或者MICRON360的摄像头,这种真正30万像素的摄像头,目前摄像头市场正规点的公司,行业习惯统称为35万像素,这一点大家应该能理解。但是某些不法商家为了牟取利润,市场上出现了一些所谓的37万,38万,42万,45万,48万,80万,130万。。。。。。这样胡乱叫喊的品牌居然在市场上大行其道,某些媒体也不知道,在蒙蔽中也登载了不少这方面的虚假宣传的文章。

某些正规品牌深受其害,比如昂达,现代,台电,蓝色妖姬,源兴等等。某些消费者来购买的时候,一看他们都只有35万,转头就可能以更高价格购买了那些标注37万,38万,42万,45万,48万,80万的虚假宣传的产品。

更有登锋造极者,最近市场上有某几个品牌,将vimicro301plus和micron360制作的摄像头,号称为130万摄像头,就是明显的弄虚作假。而且VIMICRO公司根本就没有制作和发布所谓插值130万的软件,也就是说,这几个品牌连软件插值130万都不是,仅仅是硬件30万像素。居然,在国内某些地区,他们的零售价格非常高,消费者在不知情的情况下,当作130万像素买了回去。

所以,你如果购买摄像头,你要问:这个产品采用的是什么CMOS传感器?

它的重要性常常被用户所忽略,而实际上DSP处于感光元件和电脑之间,摄像头能否支持USB2.0,曝光控制,色彩校正,噪点调节,边缘抗锯齿等都可以算到DSP的头上,从以上的可以看到,DSP的作用是图像增值。值得中国人自豪的是,中星微电子研发的DSP的这一领域占有率超过60%,目前市场上商家所说的35万像素的摄像头大多都是搭配的中星微公司的301芯片。大家在选择摄像头产品一定要清楚的理解,DSP和感光元件的意义,否则有的商家会以此扰乱市场!

Vimicro301芯片,只能支持所谓35万像素。这部分产品占了市场的主导部分。这类产品以vimicro301方案为主要,此外还有TOPRO,SONIX等等。此类综合性能好,性价比好,可满足普通网络视频应用!市场上采用这些芯片的摄像头,标称所谓的3 7万,38万,42万,45万,48万,80万,130万像素,就是胡诌。如果商家利用这种虚假的像素指标来提高销售价格,那就是在欺骗消费者!

Vimicro301芯片

现在支持硬件130万像素的DSP不多,销售的更加少,稍成气候的只有EMPIA2710或者2800等等。如果主控芯片不支持130万,那么那些假冒的130万像素,估计只有可能是外星人带来的礼物了。

所以,你如果要买摄像头,你还要问一句话:这个产品你采用的是什么DSP主控芯片,这个主控芯片最高支持硬件多少万像素。

JS除了在关键参数像素上做文章外,还有其他欺骗手段,比如在镜头上大做文章,用长相相同的塑料镜头顶替玻璃镜头,在销售中当4玻璃镜头摄像头销售;本来传感器是micron360,偏要说是7131E.本来是B级品SENSOR,偏要说是原装正品;或者故意忽略采用的是比较便宜的传感器,这个叫声东击西;或者根本就不说主控芯片,只有说是30万像素的,但是成本差别会很大,效果也有很大的差别。这个就是要利用大家不懂产品来混水摸鱼。

产品采用钽电容或是电解电容;采用双屏蔽线还是单屏蔽线,有无抗干扰磁环是否有排针接插usb线以及usb线的质量,模具工艺等,都决定了产品的综合性能,目前一些实力品牌公司都很注意这些因素,而一些小的品牌,大部分都是找一些小的工厂oem,对于产品只看重成本控制,而没有注意产品长期的稳定性。

像素之谜不仅在摄像头领域,当前国内手机市场,因为流行带有摄像头拍照功能,是一个更大的市场,如果不加控制,到时候估计和摄像头一样胡乱标称像素。而且当前销售的低端数码相机,很多都是从日本等其它国家的过来的垃圾货,它们也有很多大玩像素文章。

即使在这样的环境下,国内外一些著名厂商:极速,现代,昂达,大白鲨,台电,蓝色妖姬,LG,联想等等,都严格按照产品像素标准对产品进行包装,宣传,销售。没有靠虚假像素来提升产品和像素本身。相信他们的诚实,最终可以得到消费者的认同。