javaScript通用数据类型校验
/**
* 取得字符串的字节长度
*/
* 判断是否为数字,是则返回true,否则返回false
*/
* 判断是否为自然数,是则返回true,否则返回false
*/
* 判断是否为整数,是则返回true,否则返回false
*/
* 判断是否为实数,是则返回true,否则返回false
*/
* 校验数字的长度和精度
*/
* 校验数字的最小最大值
* 返回bool
*/
用途:检查输入字符串是否只由汉字组成
如果通过验证返回true,否则返回false
*/
* 判断是否为小写英文字母,是则返回true,否则返回false
*/
* 判断是否为大写英文字母,是则返回true,否则返回false
*/
* 判断是否为英文字母,是则返回true,否则返回false
*/
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
value:字符串
返回:
如果通过验证返回true,否则返回false
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/
用途:检查输入对象的值是否符合端口号格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
/*
用途:检查输入对象的值是否符合网址格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
/*
用途:检查输入对象的值是否符合E-Mail格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
/*
要求:一、移动电话号码为11或12位,如果为12位,那么第一位为0
二、11位移动电话号码的第一位和第二位为"13"
三、12位移动电话号码的第二位和第三位为"13"
用途:检查输入手机号码是否正确
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false
*/
/**
* 取得字符串的字节长度
*/
- function strlen(str)
- {
- var i;
- var len;
- len = 0;
- for (i=0;i<str.length;i++)
- {
- if (str.charCodeAt(i)>255) len+=2; else len++;
- }
- return len;
- }
function strlen(str) { var i; var len; len = 0; for (i=0;i<str.length;i++) { if (str.charCodeAt(i)>255) len+=2; else len++; } return len; }/*
* 判断是否为数字,是则返回true,否则返回false
*/
- function f_check_number(obj)
- {
- if (/^\d+$/.test(obj.value))
- {
- return true;
- }
- else
- {
- f_alert(obj,"请输入数字");
- return false;
- }
- }
function f_check_number(obj) { if (/^\d+$/.test(obj.value)) { return true; } else { f_alert(obj,"请输入数字"); return false; } }/*
* 判断是否为自然数,是则返回true,否则返回false
*/
- function f_check_naturalnumber(obj)
- {
- var s = obj.value;
- if (/^[0-9]+$/.test( s ) && (s > 0))
- {
- return true;
- }
- else
- {
- f_alert(obj,"请输入自然数");
- return false;
- }
- }
function f_check_naturalnumber(obj) { var s = obj.value; if (/^[0-9]+$/.test( s ) && (s > 0)) { return true; } else { f_alert(obj,"请输入自然数"); return false; } }/*
* 判断是否为整数,是则返回true,否则返回false
*/
- function f_check_integer(obj)
- {
- if (/^(\+|-)?\d+$/.test( obj.value ))
- {
- return true;
- }
- else
- {
- f_alert(obj,"请输入整数");
- return false;
- }
- }
function f_check_integer(obj) { if (/^(\+|-)?\d+$/.test( obj.value )) { return true; } else { f_alert(obj,"请输入整数"); return false; } }/*
* 判断是否为实数,是则返回true,否则返回false
*/
- function f_check_float(obj)
- {
- if (/^(\+|-)?\d+($|\.\d+$)/.test( obj.value ))
- {
- return true;
- }
- else
- {
- f_alert(obj,"请输入实数");
- return false;
- }
- }
function f_check_float(obj) { if (/^(\+|-)?\d+($|\.\d+$)/.test( obj.value )) { return true; } else { f_alert(obj,"请输入实数"); return false; } }/*
* 校验数字的长度和精度
*/
- function f_check_double(obj){
- var numReg;
- var value = obj.value;
- var strValueTemp, strInt, strDec;
- var dtype = obj.eos_datatype;
- var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
- var len = pos_dtype[0], prec = pos_dtype[1];
- try
- {
- numReg =/[\-]/;
- strValueTemp = value.replace(numReg, "");
- numReg =/[\+]/;
- strValueTemp = strValueTemp.replace(numReg, "");
- //整数
- if(prec==0){
- numReg =/[\.]/;
- if(numReg.test(value) == true){
- f_alert(obj, "输入必须为整数类型");
- return false;
- }
- }
- if(strValueTemp.indexOf(".") < 0 ){
- if(strValueTemp.length >( len - prec)){
- f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
- return false;
- }
- }else{
- strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );
- if(strInt.length >( len - prec)){
- f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
- return false;
- }
- strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );
- if(strDec.length > prec){
- f_alert(obj, "小数位不能超过"+ prec +"位");
- return false;
- }
- }
- return true;
- }catch(e){
- alert("in f_check_double = " + e);
- return false;
- }
- }
function f_check_double(obj){ var numReg; var value = obj.value; var strValueTemp, strInt, strDec; var dtype = obj.eos_datatype; var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(","); var len = pos_dtype[0], prec = pos_dtype[1]; try { numReg =/[\-]/; strValueTemp = value.replace(numReg, ""); numReg =/[\+]/; strValueTemp = strValueTemp.replace(numReg, ""); //整数 if(prec==0){ numReg =/[\.]/; if(numReg.test(value) == true){ f_alert(obj, "输入必须为整数类型"); return false; } } if(strValueTemp.indexOf(".") < 0 ){ if(strValueTemp.length >( len - prec)){ f_alert(obj, "整数位不能超过"+ (len - prec) +"位"); return false; } }else{ strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") ); if(strInt.length >( len - prec)){ f_alert(obj, "整数位不能超过"+ (len - prec) +"位"); return false; } strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length ); if(strDec.length > prec){ f_alert(obj, "小数位不能超过"+ prec +"位"); return false; } } return true; }catch(e){ alert("in f_check_double = " + e); return false; } }/*
* 校验数字的最小最大值
* 返回bool
*/
- function f_check_interval(obj)
- {
- var value = parseFloat(obj.value);
- var dtype = obj.eos_datatype;
- var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
- var minLimit = pos_dtype[0];
- var maxLimit = pos_dtype[1];
- var minVal = parseFloat(pos_dtype[0]);
- var maxVal = parseFloat(pos_dtype[1]);
- if(isNaN(value))
- {
- f_alert(obj, "值必须为数字");
- return false;
- }
- if((isNaN(minVal) && (minLimit != "-")) || (isNaN(maxVal) && (maxLimit != "+")))
- {
- f_alert(obj, "边界值必须为数字或-、+");
- return false;
- }
- if(minLimit == "-" && !isNaN(maxVal))
- {
- if(value > maxVal)
- {
- f_alert(obj, "值不能超过" + maxVal);
- return false;
- }
- }
- if(!isNaN(minVal) && maxLimit == "+")
- {
- if(value < minVal)
- {
- f_alert(obj, "值不能小于" + minVal);
- return false;
- }
- }
- if(!isNaN(minVal) && !isNaN(maxVal))
- {
- if(minVal > maxVal)
- {
- f_alert(obj, "起始值" + minVal + "不能大于终止值" + maxVal);
- }else
- {
- if(!(value <= maxVal && value >= minVal))
- {
- f_alert(obj, "值应该在" + minVal + "和" + maxVal + "之间");
- return false;
- }
- }
- }
- return true;
- }
function f_check_interval(obj) { var value = parseFloat(obj.value); var dtype = obj.eos_datatype; var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(","); var minLimit = pos_dtype[0]; var maxLimit = pos_dtype[1]; var minVal = parseFloat(pos_dtype[0]); var maxVal = parseFloat(pos_dtype[1]); if(isNaN(value)) { f_alert(obj, "值必须为数字"); return false; } if((isNaN(minVal) && (minLimit != "-")) || (isNaN(maxVal) && (maxLimit != "+"))) { f_alert(obj, "边界值必须为数字或-、+"); return false; } if(minLimit == "-" && !isNaN(maxVal)) { if(value > maxVal) { f_alert(obj, "值不能超过" + maxVal); return false; } } if(!isNaN(minVal) && maxLimit == "+") { if(value < minVal) { f_alert(obj, "值不能小于" + minVal); return false; } } if(!isNaN(minVal) && !isNaN(maxVal)) { if(minVal > maxVal) { f_alert(obj, "起始值" + minVal + "不能大于终止值" + maxVal); }else { if(!(value <= maxVal && value >= minVal)) { f_alert(obj, "值应该在" + minVal + "和" + maxVal + "之间"); return false; } } } return true; }/*
用途:检查输入字符串是否只由汉字组成
如果通过验证返回true,否则返回false
*/
- function f_check_zh(obj){
- if (/^[\一-\龥]+$/.test(obj.value)) {
- return true;
- }
- f_alert(obj,"请输入汉字");
- return false;
- }
function f_check_zh(obj){ if (/^[\一-\龥]+$/.test(obj.value)) { return true; } f_alert(obj,"请输入汉字"); return false; }/*
* 判断是否为小写英文字母,是则返回true,否则返回false
*/
- function f_check_lowercase(obj)
- {
- if (/^[a-z]+$/.test( obj.value ))
- {
- return true;
- }
- f_alert(obj,"请输入小写英文字母");
- return false;
- }
function f_check_lowercase(obj) { if (/^[a-z]+$/.test( obj.value )) { return true; } f_alert(obj,"请输入小写英文字母"); return false; }/*
* 判断是否为大写英文字母,是则返回true,否则返回false
*/
- function f_check_uppercase(obj)
- {
- if (/^[A-Z]+$/.test( obj.value ))
- {
- return true;
- }
- f_alert(obj,"请输入大写英文字母");
- return false;
- }
function f_check_uppercase(obj) { if (/^[A-Z]+$/.test( obj.value )) { return true; } f_alert(obj,"请输入大写英文字母"); return false; }/*
* 判断是否为英文字母,是则返回true,否则返回false
*/
- function f_check_letter(obj)
- {
- if (/^[A-Za-z]+$/.test( obj.value ))
- {
- return true;
- }
- f_alert(obj,"请输入英文字母");
- return false;
- }
function f_check_letter(obj) { if (/^[A-Za-z]+$/.test( obj.value )) { return true; } f_alert(obj,"请输入英文字母"); return false; }/*
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
value:字符串
返回:
如果通过验证返回true,否则返回false
- function f_check_ZhOrNumOrLett(obj){ //判断是否是汉字、字母、数字组成
- var regu = "^[0-9a-zA-Z\一-\龥]+$";
- var re = new RegExp(regu);
- if (re.test( obj.value )) {
- return true;
- }
- f_alert(obj,"请输入汉字、字母或数字");
- return false;
- }
function f_check_ZhOrNumOrLett(obj){ //判断是否是汉字、字母、数字组成 var regu = "^[0-9a-zA-Z\一-\龥]+$"; var re = new RegExp(regu); if (re.test( obj.value )) { return true; } f_alert(obj,"请输入汉字、字母或数字"); return false; }/*
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/
- function f_check_IP(obj)
- {
- var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式
- if(re.test( obj.value ))
- {
- if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
- }
- f_alert(obj,"请输入合法的计算机IP地址");
- return false;
- }
function f_check_IP(obj) { var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式 if(re.test( obj.value )) { if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true; } f_alert(obj,"请输入合法的计算机IP地址"); return false; }/*
用途:检查输入对象的值是否符合端口号格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
- function f_check_port(obj)
- {
- if(!f_check_number(obj))
- return false;
- if(obj.value < 65536)
- return true;
- f_alert(obj,"请输入合法的计算机IP地址端口号");
- return false;
- }
function f_check_port(obj) { if(!f_check_number(obj)) return false; if(obj.value < 65536) return true; f_alert(obj,"请输入合法的计算机IP地址端口号"); return false; }
/*
用途:检查输入对象的值是否符合网址格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
- function f_check_URL(obj){
- var myReg = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/;
- if(myReg.test( obj.value )) return true;
- f_alert(obj,"请输入合法的网页地址");
- return false;
- }
function f_check_URL(obj){ var myReg = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/; if(myReg.test( obj.value )) return true; f_alert(obj,"请输入合法的网页地址"); return false; }
/*
用途:检查输入对象的值是否符合E-Mail格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
- function f_check_email(obj){
- var myReg = /^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
- if(myReg.test( obj.value )) return true;
- f_alert(obj,"请输入合法的电子邮件地址");
- return false;
- }
function f_check_email(obj){ var myReg = /^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; if(myReg.test( obj.value )) return true; f_alert(obj,"请输入合法的电子邮件地址"); return false; }
/*
要求:一、移动电话号码为11或12位,如果为12位,那么第一位为0
二、11位移动电话号码的第一位和第二位为"13"
三、12位移动电话号码的第二位和第三位为"13"
用途:检查输入手机号码是否正确
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false
*/
- function f_check_mobile(obj){
- var regu =/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/;
- var re = new RegExp(regu);
- if (re.test( obj.value )) {
- return true;
- }
- f_alert(obj,"请输入正确的手机号码");
- return false;
- }
function f_check_mobile(obj){ var regu =/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/; var re = new RegExp(regu); if (re.test( obj.value )) { return true; } f_alert(obj,"请输入正确的手机号码"); return false; }