用prototype.js向页面中元素加载事件:
Event.observe(window,'load',
function(){
$('sg').observe('blur',checkSg);
}
定义该事件要执行的函数:
function checkSg(){ var gao=$F('sg'); var mygao=/^[1-9]d*|0$/; if(gao!=""&&!gao.match(mygao)){ $('sgmsg').replace('<label id="sgmsg"><font color=red>身高必须是正整数!</font></label>'); return true; }else if(gao!=""&&(gao>250||gao<0)){ $('sgmsg').replace('<label id="sgmsg"><font color=red>请输入合法的身高!</font></label>'); return true; }else{ $('sgmsg').replace('<label id="sgmsg"></label>'); return false; } }
form中的元素是:
<input type="text" name="shengao" id="sg" size="5" /><label id="sgmsg"></label>
当输入的数据不是整数或者数据不在指定范围内时:文本框后面会提示错误信息!否则无提示,则录入正确!
里面的关键点:这里的gao!=""等价于!gao.empty(),需要学习的还有match()方法,及相关的test(),replace()等方法其中用到的正则表达式:/^[1-9]d*|0$/指定正整数,还有相关的:
/^[\u4e00-\u9fa5]+$/指定必须是汉字输入,
/^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/指定Email地址格式,
/^[0-9]{11}$|^[0-9]{10}$|^[0-9]{12}$/指定电话(包括手机,小灵通,固话)
---更精确一点/^[0-9]{11}$|^0[0-9]{2}[0-9]{8}$|^0[0-9]{3}[0-9]{8}$/,
/^[a-zA-Z]+:////[^s]*$/指定主页url格式,
/^[0-9]{6}$/指定邮编格式,
/^\w*$/指定任意数字和字符,
/^[0-9]{15,18}|[0-9]{17}[a-zA-Z]$/指定身份证格式