JS传递参数以及表单验证

来源:互联网 发布:海之乐章js技能怎么满 编辑:程序博客网 时间:2024/06/14 07:29

  最近帮战友做了2次作业。都是和js有关的,虽然很简单但还是记录下吧。也好提醒自己,有空了就该学学js以及正则表达式

 

  如果在js中写一个函数如下:
<script>
function submit()
{
var input1 = document.getElementById("num");
window.open("2.html?num=" + input1.value+"&css="+input2.value);//传入参数
}
</script>

 

然后body里有对应的控件和一个按钮来调用该函数:

 

<input type = "text" id = "num">
<input type = "button" onclick = "submit()" value = "提交">

 

那么,当按下提交按钮是就会跳转到2.html并且带着参数num(在这里我还多带了一个css的值)。

 

在2.html中写个获得参数的函数

<script>
//获得参数的方法
var request =
  {
   QueryString : function(val)
     {
        var uri = window.location.search;
        var re = new RegExp("" +val+ "=([^&?]*)", "ig");
        return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
}
}

</script>

 

每次调用该函数就可以获得URL里的参数了。

var num = request.QueryString("num");

这句话就是获得了num这个参数值,然后就可以加以利用了。

 

 

里面的正则表达式看不懂。下面的这个正则表达式还有点能看懂的意思,呵呵。下面是表单验证的js,主要是比较少见。

 

这是验证是否数值为数字

function isNumber(s)
{
 //创建正则表达式
  var regu = "^[0-9]+$";
  var re = new RegExp(regu);
  if (s.search(re) != -1) {
     return true;
  } else {
     return false;
  }
}

 

这个比较特殊,是验证是否包含某个字符串

 

//检测str里面是否包含charset字符。在这里根据我的修改只适合检测2个汉字--“台中”。没有通用性。
//但如果有要求可以改为通用的,先调用charset.length函数获得长度,然后再进行if判断。
function contain(str,charset)
{
   var i;
   for(i=0;i<charset.length-1;i++)
   {
      if(str.indexOf(charset.charAt(i))>=0)//如果检测到了“台”字
      {
          if(str.indexOf(charset.charAt(i+1))>=0)//如果“台”字后面继续跟着“中”字
               //同时满足以上2个if才返回true
               return true;
      }
   }
   return false;
}

 

写此文章,保存这几个代码片段吧。呵呵……

原创粉丝点击