常用JS验证

来源:互联网 发布:晨曦2013软件视频教程 编辑:程序博客网 时间:2024/05/16 08:37

<html>
<head>
<title>judge</title>
<script type="text/javascript">
function judge(obj){//用于判断
var newValue = trim(obj.value);
if(isInteger(newValue)){
alert(newValue+"是整数");
}

var booleanValue=isBooleanExp(newValue);//布尔值
if(booleanValue==true || booleanValue==false){
alert(newValue+"是一个布尔值,它的结果是:"+booleanValue);
}
if(hasChineseCharacter(newValue)){
alert(trim(obj.value)+':含有中文');
}
if(isIP(newValue)){
alert(newValue+"是一个ip地址");
}
if(isIdNum(newValue)){
alert(newValue+"是一个身份证号");
}
if(!isInteger(newValue)&&isFloat(newValue)){
alert(newValue+"是一个浮点数");
}
if(isValidDate(newValue)){
alert(newValue+"是一个有效的日期");
}
}
function ltrim(str){//去掉字符串左边的空格
var whitespace = new String(" /t/n/r");//空格字符
var strObj = new String(str);
     if (whitespace.indexOf(strObj.charAt(0)) != -1){
         var j=0, i = strObj.length;
         while (j < i && whitespace.indexOf(strObj.charAt(j)) != -1){
            j++;
          }
         strObj = strObj.substring(j, i);
     }
     return strObj;
}
function rtrim(str){//去掉字符串右边的空格
var whitespace = new String(" /t/n/r");//空格字符
var strObj = new String(str);
if (whitespace.indexOf(strObj.charAt(strObj.length-1)) != -1){
var i = strObj.length - 1;
while (i >= 0 && whitespace.indexOf(strObj.charAt(i)) != -1){
i--;
}
strObj = strObj.substring(0, i+1);
}
return strObj;
}
function trim(str){//去掉两边空格
return ltrim(rtrim(str));
}
function isDegit(str){//判断是否是数字
var pattern=/^[0-9]/d*$/;
return pattern.test(str);
}
function isInteger(str){//判断是否是整数
var pattern= /^-?[1-9]/d*$/;
return pattern.test(str);
}
function isBooleanExp(str){//是否是布尔表达式
var op = new Array();//布尔值
op[0]="==";
op[1]=">";
op[2]=">=";
op[3]="<";
op[4]="<=";
op[5]="!=";
for(var i=0;i<op.length;i++){
if(str.indexOf(op)>0){
var opIndex=str.indexOf(op);
var leftCode = str.substring(0,opIndex);//左边值
var rightCode = str.substr(opIndex+op.length);//右边值
return eval(leftCode+op+rightCode);
}
}
}
function hasChineseCharacter(str){//是否含有中文字符;使用正则
var pattern = /[/u4e00-/u9fa5]/;//[/u4e00-/u9fa5]为中文代码
return pattern.test(str);
}
function isIP(str){//判断是否是一个ip地址
var pattern = /^/d/d{0,2}/./d{1,3}/./d{1,3}/./d{0,2}/d$/;
return pattern.test(str);
}
function isIdNum(str){//判断是否是身份证号
if(str.length!=15 && str.length!=18){//检查长度
return false;
}
var returnBool = true;
for(var i=0;i<str.length;i++){//循环判断每一位是否是数字
if(!isInteger(str.charAt(i))&&i!=str.length-1){//最后一位可以是字母
returnBool = false;
}
}
return returnBool;
}
function isFloat(str){//判断是否是浮点数
var pattern=/^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$/;
return pattern.test(str);
}
function isValidDate(str){//是否是有效的年月日
//判断是否为日期(格式:yyyy年MM月dd日,yyyy-MM-dd,yyyy/MM/dd,yyyyMMdd)
var newStr="";
var year,month,day;
for(var i=0;i<str.length;i++){
if(isDegit(str.charAt(i))){
newStr+=str.charAt(i);
}
}
if(newStr.length!=8){
return false;
}
//分配日期
year = newStr.substr(0,4);
month=newStr.substr(4,2);
day=newStr.substr(6,2);
//判断
if (month < 1 || month > 12){
return false;
}
if (day < 1 || day > 31){
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31){
return false;
}
if (month==2){
var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));
if (day>29){
return false;
}
if ((day==29) && (!isleap)){
return false;
}
}
return true;        
}
</script>
</head>
<body>
<form name="testForm" action="">
输入内容:<input type="text" id="content" name="content" value="">
<br>
<input type="button" name="buttonCheck" value="点击验证"
onclick="judge(document.getElementById('content'));">
</form>
</body>
</html>

原创粉丝点击