是否以某字符串结尾 是否以某字符串开始 是否是整数 裁减字符串空格 是否是浮点数 是否所有字符为数字类型 是否为空 是否是EMAIL 是否是电话号码 身份证号码验证-支持新的带x身份证 日期验证
/* 1.是否以某字符串结尾 endsWith(theStr,endStr)
@param theStr:要判断的字符串
@param endStr:以此字符串结尾
@return boolean;
*/
function endsWith(theStr,endStr)
{
var theStrLength=theStr.length;
var endStrLength=endStr.length;
var theStrEnd=theStr.substring(theStrLength-endStrLength,theStrLength);
if (theStrEnd==endStr)
return true;
else
return false;
}
/* 1.是否以某字符串开始 startsWith(theStr,endStr)
@param theStr:要判断的字符串
@param endStr:以此字符串结尾
@return boolean;
*/
function startsWith(theStr,startStr)
{
var theStrLength=theStr.length;
var startStrLength=startStr.length;
var theStrStart=theStr.substring(0,startStrLength);
if (theStrStart==startStr)
return true;
else
return false;
}
/*
2.是否是整数
@param str:要判断的字符串
@param bEmpty:如果str为空返回此值
*/
function isInt(str,bEmpty)
{
if(str==null||trim(str)=="")
{
return bEmpty;
} if(trim(str) == "0")
{
return false;
} var ch = str.substring(0,1); if (ch == "0" && trim(str) != "0")
{
return false;
} for (var i=0; i<str.length ; i++)
{
var s = str.substring(i, i+1);
if (!(s >= "0" && s <="9"))
{
return false;
}
}
return true;
}
function isInt(str)
{
if(str==null||trim(str)=="")
{
return true;
} if(trim(str) == "0")
{
return true;
} var ch = str.substring(0,1); if (ch == "0" && trim(str) != "0")
{
return false;
} for (var i=0; i<str.length ; i++)
{
var s = str.substring(i, i+1);
if (!(s >= "0" && s <="9"))
{
return false;
}
}
return true;
}
/*
3、裁减字符串空格
@param Str:要裁减的字符串
@param Flag:方向,输入l或L裁减左边空格;输入r或R裁减右边空格;否则裁减两边空格
*/
function trim(Str , Flag)
{ Str = ""+Str;
if( Flag == "l" || Flag == "L" )/*trim left side only*/
{
RegularExp = /^\s+/gi;
return Str.replace( RegularExp,"" );
}
else if( Flag == "r" || Flag == "R" )/*trim right side only*/
{
RegularExp = /\s+$/gi;
return Str.replace( RegularExp,"" );
}
else/*defautly, trim both left and right side*/
{
RegularExp = /^\s+|\s+$/gi;
return Str.replace( RegularExp,"" );
}
}
/*
4、是否是浮点数
@param checkstr:要判断的字符串
@param bEmpty:如果checkstr为空时返回的值
@param tcount:小数点位数
*/
function isFloat(checkstr, bEmpty, tcount)
{
if(checkstr==null||trim(checkstr)=="")
{
return bEmpty;
} var str = trim(checkstr);
if(str.substring(0,1)==".")
{
return false;
}
var temp=0;
for(var i=0;i<str.length;i++)
{
var ch=str.substring(i,i+1);
if(!((ch>="0" && ch<="9") || ch=="."))
{
return false;
}
if(ch==".")
temp++;
if(temp>1)
{
return false;
}
} if(tcount != null && tcount > 0)
{
if(str.indexOf(".") != -1 && str.length - (str.indexOf(".")+1) > tcount)
{
return false;
}
} var start1 = checkstr.substring(0,1);
var start2 = checkstr.substring(1,2);
if(start1 == 0 && start2!=".")
{
for(var i=0;i<str.length;i++)
{
var ch=str.substring(i,i+1);
if (ch==0)
temp++;
}
if (temp == str.length)
{
return true;
}
return false;
}
return true;
}
/*
5、是否所有字符为数字类型
@param str:要判断的字符串
@param bEmpty:str为空时返回此值
*/
function isNumber(str,bEmpty)
{
if(str==null||trim(str)=="")
{
return bEmpty;
} for (var i=0; i<str.length ; i++)
{
var s = str.substring(i, i+1);
if (!(s >= "0" && s <="9"))
{
return false;
}
}
return true;
}
/*
6、是否为空
@param str:要判断的字符串
*/
function isNull(str)
{
if (str == null || trim(str) == "")
{
return true;
}
return false;
} /*
8、是否是EMAIL
@param str:要判断的字符串
@param bEmpty:str为空时返回此值
*/
function isEmail(str,bEmpty){
if (str == null || trim(str) == "")
{
return bEmpty;
} //校验邮件的正则表达式,包括aa@bb.cc.dd 和 aa@bb.cc的形式 var pattern1 = /^(([\u4E00-\u9FA5]|[\uFE30-\uFEFF]|[\d]|[a-zA-Z]|[\_\-\.])+[\@])(((([\d]|[a-zA-Z]|[\_\-]|[\[\]\{\}\>\<])+[\.])+)([\d]|[a-zA-Z\_\-])+)$/;
if(str.match(pattern1) )
return true;
return false;
}
/*
9、是否是电话号码
@param str:要判断的字符串
@param bEmpty:str为空时返回此值
*/
function isTel(str,bEmpty)
{
if(str==null||trim(str)=="")
return bEmpty; var str = trim(str);
var myphone = /^[\-0-9+()\/]{1,32}$/;
if(myphone.test(str)) return true; return false;
}
//--身份证号码验证-支持新的带x身份证
function isIdCardNo(num)
{
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var error;
var varArray = new Array();
var intValue;
var lngProduct = 0;
var intCheckDigit;
var intStrLen = num.length;
var idNumber = num;
var checkDate = function(date) {
return true;
} // initialize
if ((intStrLen != 15) && (intStrLen != 18)) {
//error = "输入身份证号码长度不对!";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
}
// check and set value
for(i=0;i<intStrLen;i++) {
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
//error = "错误的身份证号码!.";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
} else if (i < 17) {
varArray[i] = varArray[i]*factorArr[i];
}
}
if (intStrLen == 18) {
//check date
var date8 = idNumber.substring(6,14);
if (checkDate(date8) == false) {
//error = "身份证中日期信息不正确!.";
//alert(error);
return false;
}
// calculate the sum of the products
for(i=0;i<17;i++) {
lngProduct = lngProduct + varArray[i];
}
// calculate the check digit
intCheckDigit = 12 - lngProduct % 11;
switch (intCheckDigit) {
case 10:
intCheckDigit = 'X';
break;
case 11:
intCheckDigit = 0;
break;
case 12:
intCheckDigit = 1;
break;
}
// check last digit
if (varArray[17].toUpperCase() != intCheckDigit) {
//error = "身份证效验位错误!正确为: " + intCheckDigit + ".";
//alert(error);
return false;
}
}
else{ //length is 15
//check date
var date6 = idNumber.substring(6,12);
if (checkDate(date6) == false) {
//alert("身份证日期信息有误!.");
return false;
}
}
//alert ("Correct.");
return true;
}
/*
日期验证
*/
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
} function replaceAll(str,replaceStr,toStr){
var raRegExp = new RegExp(replaceStr.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g,"\\$1"),"ig");
return str.replace(raRegExp,toStr);
}
function url(str){
str=replaceAll(str,"?","$param$");
str=replaceAll(str,"&","$and$");
str=replaceAll(str,"%","$percent$");
return str;
}
是否以某字符串结尾 是否以某字符串开始 是否是整数 裁减字符串空格 是否是浮点数 是否所有字符为数字类型 是否为空 是否是EMAIL 是否是电话号码 身份证号码验证-支持新的带x身份证 日期验证的更多相关文章
- java 实现从15位~18位的身份证号码转换,校验中国大陆公民身份证、香港居民身份证、澳门身份证和台湾身份证。
package xidian.sl.netcredit.util; /** * Copyright (C) 2009-2010 Yichuan, Fuchun All rights reserved. ...
- php验证身份证号码正确性
发布:JB01 来源:脚本学堂 [大 中 小] 分享一例php代码,用于验证身份证号码的正确性,用到了preg_match.preg_replace函数,有需要的朋友可以参考学习下.本文转 ...
- JavaScript身份证号码有效性验证
最近需要对身份证合法性进行验证,实名验证是不指望了,不过原来的验证规则太过简单,只是简单的验证了身份证长度,现在业务需要加强下身份证验证规则,网上找到了不少资料,不过都不合偶的心意,无奈只好直接写一个 ...
- C#验证身份证号码
一.18位的身份证号码 如:130429####%%%%00781.1~6位为地区代码,其中1.2位数为各省级政府的代码,3.4位数为地.市级政府的代码,5.6位数为县.区级政府代码.如13(河北省) ...
- 从身份证号码中获取性别、出生日期、籍贯,并更新mongodb
有这样的需求,人员信息是存在mongodb中,需要存放人员的身份证.性别.出生日期.籍贯等信息.通过脚本导入这些信息,但是只导入了身份证号码,其他信息空缺.现在需要补全其他信息. 其实身份证信息就包含 ...
- Javascript 身份证号获得出生日期、获得性别、检查身份证号码
//---------------------------------------------------------- // 功能:根据身份证号获得出生日期 // 参数:身份证号 psidno // ...
- C语言 · 身份证号码升级
算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法 ...
- 算法笔记_101:蓝桥杯练习 算法提高 身份证号码升级(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由 ...
- Java实现蓝桥杯 算法提高 身份证号码升级
算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位 ...
随机推荐
- UIImageView 的 contentMode
UIViewContentModeScaleToFill, // 按设置尺寸 - 填充 UIViewContentModeScaleAspectFit, // 按设置尺寸 - 等比例填充, 有边界 U ...
- JavaScript的OOP编程1
首先要说的是,javascript其实是可以进行OOP编程的,其次javascript的OOP编程实现方式有多种,我写的这一种只是我测试过,可行的一种 version1 // 父类 function ...
- JNI/NDK开发指南(二)——JVM查找java native方法的规则
通过第一篇文章,大家明白了调用native方法之前,首先要调用System.loadLibrary接口加载一个实现了native方法的动态库才能正常访问,否则就会抛出java.lang.Unsatis ...
- 实现一个JavaScript模块化加载器
对任何程序,都存在一个规模的问题,起初我们使用函数来组织不同的模块,但是随着应用规模的不断变大,简单的重构函数并不能顺利的解决问题.尤其对JavaScript程序而言,模块化有助于解决我们在前端开发中 ...
- phpStorm 使用技巧大集合
之前整理了一部分使用技巧了,但是在实际操作中发现phpstorm的技巧实在是太多了,所以大部分都统一整理到这篇文字中 ,备用 插件1 1:phpstrom的插件Provides live edit H ...
- [wikioi]四色问题
http://wikioi.com/problem/1116/ 典型的DFS. #include <iostream> #include <memory.h> #define ...
- 不重复查询mysql
select EquipmentSID,MIN(MatureTime),MIN(ISlock) from table group by name String sql =” Select * from ...
- WIN32和Kernel)直接读写硬盘扇区
第一篇写技术的文章哦,以前好少写文章,我的文字表达很差劲,大家不要笑哦.前几天仙剑4通关了,感觉好惆怅,什么都不想去做.今天看了一下书发现一篇比较好玩的文章,于是自己静静地实践一番.文章是<基于 ...
- postMan 使用
Postman功能(https://www.getpostman.com/features) 主要用于模拟网络请求包 快速创建请求 回放.管理请求 快速设置网络代理 安装 下载地址:https://w ...
- Muduo源码库研究(笔记汇总)
声明: 本人学习Muduo源码, 有些代码会对其进行精简, 加上本人的一些理解, 所以与作者的代码可能有些不同. 如有理解错误的地方欢指出. Muduo基础库-时间戳类 http://www.cnbl ...