复制代码 代码如下:
//eval就是计算字符串【可以放任何js代码】里的值
//1、
var str1='12+3';
eval(str1);//15//2、
var str2='[1,2,3]';
eval(str2[0]);//1
//3、
eval('alert(abc)');//弹出abc
//4、
var str=function show(){alert('love you');};
eval(str);
show();
//5、eval--->json字符串
1、如果对如上用户名,邮箱验证输入验空,传统的做法
复制代码 代码如下:
var flag = true;
if (document.getelementbyid(txtname).value == ) {
//写入错误信息
flag = false;
}
if (document.getelementbyid(txtemail).value == ) {
//写入错误信息
flag = false;
}
return flag
}
-->但是如何有很多需要验证的字段,if会有很多,而且一点都不雅观2、平静心情,来看看html
复制代码 代码如下:
用户名:
邮箱:
2.1 看如下代码
复制代码 代码如下:
function validateform() { var namev = form1.name.value()
alert(namev);// 如果我们在文本框输入短发美女,弹出来肯定是短发美女
//继续
namev=eval('form1.name.value()');
alert(namev);//同样也是 短发美女 5 }
3、封装
复制代码 代码如下:
function formfield(fieldname, fielddesc) {//将变化者 属性字段和描述封装起来
this.fieldname = fieldname;
this.fielddesc = fielddesc;
}
string.prototype.mytrim = function () {//去除首尾空格
return this.replace(/^\s+|\s+$/g, '');
}
function validateform() {
var oul = document.getelementbyid(ulerror);
oul.innerhtml = ;
var list = new array
(
//以后只需要验证为空的 只需要在数组中增加一个对象即可
new formfield(name, 用户名),
new formfield(email, 邮箱)
);
var flag = true;
for (var i = 0; i var fv = eval(form1. + list[i].fieldname + .value);//执行eval运算
if (fv == null ||!fv.mytrim()) {
//记录错误信息
// var lierror = + list[i].fielddesc + 不能为空;
// oul.innerhtml+=lierror;
var lierror = document.createelement(li);
lierror.innerhtml =list[i].fielddesc + 不能为空;
oul.appendchild(lierror);
flag = false;
}
}
}