解析字符串的问题?请高手解决~

bxh2dai 2004-07-24 12:37:10
首先我有一个表单,我不知道表单里的输入域是NAME,所以我用如下JavaScript代码
找到每个表单输入域的NAME:
var all=document.forms[0].elements;
for(var i=0;i<all.length;i++){
//如果不是按钮“submit”,就取得名字。
if (all[i].type!="submit"){
alert(all[i].name) ;
}
}
我在网页的hidden里得到一个字符串,字符串如下:
s = '@@mytest=0.001@@address=中国人@@approach=我一个人住@@';
我想得到里面的值:“0.001”,“中国人”,“我一个人住”
其中“mytest”是上面的JavaScript代码可以得到的输入域的NAME,我的目的是分解这个字符串把得到的值:“0.001”,“中国人”,“我一个人住”添入下面的表单:
<form name="haha" method="post" action="test_1.asp">

所属地区:<select name="mytest"><option value=""></option><option value='0.001'>总公司</option><option value='0.001.001'>上海</option></select>
姓名:<input type="text" name="address">
<p>
爱的表白:<textarea name="approach"></textarea>
</p>
<input type="submit" name="Submit" value="提交">
</form>

...全文
150 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
afoskoo 2004-07-24
  • 打赏
  • 举报
回复
ss=s.split("@@");
sss=ss.split("=");
alert(sss[1]);
bxh2dai 2004-07-24
  • 打赏
  • 举报
回复
顶~!
我想过用如下的方法:
ss = s.substring( s.indexOf("mytest=")+1, s.indexOf("@@address")) ;
在这个方法中可以完全取到"0.001",但是我现在暴露的问题就是,后面的这个”address“我是
不知道,因为在程序中,我不知道后面跟是那一个输入域的NAME
所以就很困难了
woyingjie 2004-07-24
  • 打赏
  • 举报
回复
<script>
function a(){
s = '@@mytest=0.001@@address=中国人@@approach=我一个人住@@'
a=s.split("@@")
alert(a)
}
</script>
<input type=button onclick=a()>
bxh2dai 2004-07-24
  • 打赏
  • 举报
回复
其实我是就想到,怎么才能很好的分解这个字符串,得到面的值:
s = '@@mytest=0.001@@address=中国人@@approach=我一个人住@@';
这个字符串在实际的使用中可能会很长,但是规律就想这样的~!
级别太小,所以只能给100分~!
不够再给~!
希望得到好的答案!
bxh2dai 2004-07-24
  • 打赏
  • 举报
回复
to: wanghr100(灰豆宝宝.net)
你的这个方法怎么一运行IE就没有响应呢?
请为你这个表达式”/@@([^=]+)\=([^@]+)/g“是不是正册表达式啊
可以找什么资料学习这样的表达式的知识吗?
wanghr100 2004-07-24
  • 打赏
  • 举报
回复
<input type="text" name="mytest"/>
<input type="text" name="address"/>
<input type="text" name="approach"/>
<script>
var s = '@@mytest=0.001@@address=中国人@@approach=我一个人住@@';
var reg = /@@([^=]+)\=([^@]+)/g
while((result = reg.exec(s))!=null)
{
document.all[result[1]].value=result[2];
}
</script>
  • 打赏
  • 举报
回复
学习
woyingjie 2004-07-24
  • 打赏
  • 举报
回复
受楼主的启发

<script>
function a(){
s = '@@mytest=0.001@@address=中国人@@approach=我一个人住@@'
a=s.split("@@")
for(i=1;i<a.length-1;i++){
a[i] = a[i].substring( a[i].indexOf("=")+1)
alert(a[i])
}
}
</script>
<input type=button onclick=a()>

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧