最近帮战友做了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;
}
写此文章,保存这几个代码片段吧。呵呵……