/** 取得字符串的字节长度**/
代码
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;
}
}
/* * 校验数字的最小最大值 * 返回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;
}
/* 用途:检查输入字符串是否只由汉字组成 如果通过验证返回true,否则返回false */
代码
function f_check_zh(obj){
if (/^[\u4e00-\u9fa5]+$/.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;
}
/* * 判断是否为大写英文字母,是则返回true,否则返回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;
}
/* 用途:检查输入字符串是否只由汉字、字母、数字组成 输入: value:字符串 返回: 如果通过验证返回true,否则返回false */
代码
function f_check_ZhOrNumOrLett(obj){ //判断是否是汉字、字母、数字组成
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
var re = new RegExp(regu);
if (re.test( obj.value )) {
return true;
}
f_alert(obj,"请输入汉字、字母或数字");
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;
}
/* 用途:检查输入对象的值是否符合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;
}
/* 用户ID,可以为数字、字母、下划线的组合, 第一个字符不能为数字,且总长度不能超过20。 */
代码
function f_check_userID(obj)
{
var userID = obj.value;
if(userID.length > 20)
{
f_alert(obj,"ID长度不能大于20");
return false;
}
if(!isNaN(userID.charAt(0)))
{
f_alert(obj,"ID第一个字符不能为数字");
return false;
}
if(!/^\w{1,20}$/.test(userID))
{
f_alert(obj,"ID只能由数字、字母、下划线组合而成");
return false;
}
return true;
}
/* 功能:验证身份证号码是否有效 提示信息:未输入或输入身份证号不正确! 使用:f_check_IDn(obj)
返回:bool */
代码
function f_check_IDno(obj)
{
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
var iSum = 0;
var info = "";
var strIDno = obj.value;
var idCardLength = strIDno.length;
if(!/^\d{17}(\d|x)$/i.test(strIDno)&&!/^\d{15}$/i.test(strIDno))
{
f_alert(obj,"非法身份证号");
return false;
}
//在后面的运算中x相当于数字10,所以转换成a
strIDno = strIDno.replace(/x$/i,"a");
if(aCity[parseInt(strIDno.substr(0,2))]==null)
{
f_alert(obj,"非法地区");
return false;
}
if (idCardLength==18)
{
sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));
var d = new Date(sBirthday.replace(/-/g,"/"))
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
{
f_alert(obj,"非法生日");
return false;
}
for(var i = 17;i>=0;i --)
iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);
if(iSum%11!=1)
{
f_alert(obj,"非法身份证号");
return false;
}
}
else if (idCardLength==15)
{
sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));
var d = new Date(sBirthday.replace(/-/g,"/"))
var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();
if(sBirthday != dd)
{
f_alert(obj,"非法生日");
return false;
}
}
return true;
}
/**js正则表达式,数字和字母组合,全角判断**/
if(batchNumber.toLocaleUpperCase()==‘A/A‘)
{
alert(‘编号核实时,编号不能是A/A‘);
return false;
}
var re2= /^[\w]/;
if(!re2.test(batchNumber))
{
alert(‘编号中不能输入全角字符‘);
return false;
}
var re=/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/;
if(!re.test(batchNumber))
{
alert(‘编号必须是数字和字母的组合‘);
return false;
}
}
//
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
JS判断是否为数字,中文,小写、大写字母,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/cmblogs/p/3837333.html