日期:2014-05-16 浏览次数:20423 次
?
前不久在一家小公司做项目总结出来的javascript验证方法,现在分享给大家。不过,我是新手,应该有很多疏漏,请各位大哥大姐们多多指教。
?
?
// 在GBK编码里,除了ASCII字符,其它都占两个字符宽
function get_bytes_length(str) {
return str.replace(/[^\x00-\xff]/g, "xx").length;
}
?
//去除所有空格
function trim(obj) {
var not_valid = /\s/;
while (not_valid.test(obj)) {
obj = obj.replace(not_valid, "");
}
return obj;
}
?
//只能输入数字、字母、下划线
function nlu(obj) {
var valid = /^\w*$/;
return (valid.test(obj));
}
?
?
?
?
//普通验证(obj:要验证的输入框的id;maxsize:可输入最大英文字符长度;isNull:是否为必填项)
function check_obj1(obj, maxsize, isNull) {
//获取输入框值
var v = document.getElementById(obj).value;
//是必填项
if (isNull) {
if (v == "") {
document.getElementById("vd_" + obj).innerText = "不能空!";
return false;
}
}
//超过指定长度
if (get_bytes_length(trim(v)) > maxsize) {
document.getElementById("vd_" + obj).innerText = "\u53ea\u80fd\u8f93\u5165" + (maxsize / 2) + "\u4f4d\u4ee5\u5185\u7684\u4e2d\u6587\u6216" + maxsize + "\u4f4d\u4ee5\u5185\u82f1\u6587\u5b57\u7b26!";
return false;
}
if(isNull){
document.getElementById("vd_" + obj).innerText = "*";
return true;
}else{
document.getElementById("vd_" + obj).innerHTML = "<font color='green'>\u8f93\u5165\u6b63\u786e!</font>";
return true;
}
}
?
//验证数字(obj:要验证的输入框的id;maxsize:可输入最大英文字符长度;isNull:是否为必填项;isNumber:是否只能输入数字)
function check_obj2(obj, maxsize, isNull, isNumber) {
//获取输入框值
var v = document.getElementById(obj).value;
//是必填项
if (isNull) {
if (v == "") {
document.getElementById("vd_" + obj).innerText = "不能空!";
return false;
}
}
<