常用简易JavaScript函数

 更新时间:2009年04月09日 17:53:52   作者:  
返回字符串的字节长度 检查表单是否符合规定的长度 等表达验证函数
//函数名:strByteLength
//功能介绍:返回字符串的字节长度
//参数说明:str 要检查的字符串
//返回值:字符串长度
function strByteLength(str)
{
var i,sum;
sum=0;
for(i=0;i<str.length;i++)
{
if ((str.charCodeAt(i)>=0) & (str.charCodeAt(i)<=255))
sum=sum+1;
else
sum=sum+2;
}
return sum;
}
//函数名:fucCheckLength
//功能介绍:检查表单是否符合规定的长度
//参数说明:obj 要检查的表单对象
// name 对象名称
// length 规定长度
//返回值:true(符合) or false(不符)
function fucCheckLength(obj , name , length)
{
var i,sum;
sum=0;
var strTemp = obj.value;
for(i=0;i<strTemp.length;i++)
{
if ((strTemp.charCodeAt(i)>=0) & (strTemp.charCodeAt(i)<=255))
sum=sum+1;
else
sum=sum+2;
}
if(sum<=length)
{
return true;
}
else
{
alert(name+"超出规定长度!最长允许"+length+"个字符(中文算2位)!");
obj.focus();
return false;
}
}
//检测电子邮件是否合法
function checkEmail(Object)
{
var pattern = /^[.-_A-Za-z0-9]+@([-_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
var strValue=Object.value;
if(strValue.match(pattern)==null){
alert("Email不合法,请重新填写!");
Object.focus();
return false;
}else{
return true;
}
}
//去空隔函数
function Jtrim(str){
var i = 0;
var len = str.length;
if ( str == "" ) return( str );
j = len -1;
flagbegin = true;
flagend = true;
while ( flagbegin == true & i< len){
if ( str.charAt(i) == " " ){
i=i+1;
flagbegin=true;
}else{
flagbegin=false;
}
}
while (flagend== true & j>=0){
if (str.charAt(j)==" "){
j=j-1;
flagend=true;
}else{
flagend=false;
}
}
if ( i > j ) return ("")
trimstr = str.substring(i,j+1);
return trimstr;
}
//函数名:JtrimCn
//功能介绍:去掉字符串前后的空格[包括中文空格]
//参数说明:str 要操作的字符串
//返回值:删除了前后空格[包括中文空格]的字符串
function JtrimCn(str){
var i = 0;
if (str == null || str == undefined) {
return "";
}
var len = str.length;
if ( str == "" ) {
return( str );
}
j = len -1;
flagbegin = true;
flagend = true;
while ( flagbegin == true & i< len){
if ( str.charAt(i) == " " || str.charAt(i) == " " ){
i=i+1;
flagbegin=true;
}else{
flagbegin=false;
}
}
while (flagend== true & j>=0){
if (str.charAt(j)==" " || str.charAt(j) == " "){
j=j-1;
flagend=true;
}else{
flagend=false;
}
}
if ( i > j ) {
return ("")
}
var trimstr = str.substring(i,j+1);
return trimstr;
}
//0-9,A-Z,a-z规范字符判断
function isChar(Str){
var regu = "^([0-9a-zA-Z]+)$";
var re = new RegExp(regu);
if (Str.search(re) != -1){
return true;
}
return false;
}
//判断是否数字
function IsNum(Str){
var regu = "^([0-9]+)$";
var re = new RegExp(regu);
if (Str.search(re) != -1)
return true;
{
return false;
}
}
//函数名:funcIsNotEmpty
//功能介绍:检查字符串是否为空
//参数说明:str 字符串
//返回值:true:不为空 false:为空
function funcIsNotEmpty(str){
var s = /\S/;
if(str==null){
return false;
}
return s.test(str);
}
//函数名:fucCheckLength
//功能介绍:检查表单是否符合规定的长度
//参数说明:objValue 要检查的表单对象的数值
// name 对象名称
// minLen 最小长度
// maxLen 最大长度
//返回值:true(符合) or false(不符)
function fucCheckLengthB(objValue , minLen , maxLen)
{
var i,sum;
sum=0;
var strTemp = objValue;
for(i=0;i<strTemp.length;i++)
{
if ((strTemp.charCodeAt(i)>=0) & (strTemp.charCodeAt(i)<=255))
sum=sum+1;
else
sum=sum+2;
}
if(sum<=maxLen & sum >= minLen)
{
return true;
}
else
{
return false;
}
}
//sDate1和sDate2是2002-12-18格式
function funDateDiff(sDate1, sDate2){
var aDate, oDate1, oDate2, iDays ;
aDate = sDate1.split("-") ;
//转换为12-18-2002格式
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
aDate = sDate2.split("-") ;
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) ;
//把相差的毫秒数转换为天数
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24);
//如果开始时间小于结束时间
if (sDate1 > sDate2)
{
return (-1 * iDays);
}
return iDays;
}
//检测电子邮件是否合法
function funcCheckEmail(strValue)
{
var pattern = /^[.-_A-Za-z0-9]+@([-_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
if(strValue.match(pattern)==null){
return false;
}else{
return true;
}
}
//函数名:fucCheckMaxLength
//功能介绍:检查表单是否符合规定的长度
//参数说明:objValue 要检查的表单对象的数值
// name 对象数值
// maxLen 最大长度
//返回值:true(符合) or false(不符)
function fucCheckMaxLength(objValue , maxLen)
{
return fucCheckLengthB(objValue, 0 ,maxLen );
}
//函数名:fucCheckMaxLength
//功能介绍:检查指定对象的数值是否符合规定的长度
//参数说明:objValue 要检查的表单对象的数值
// name 对象
// maxLen 最大长度
//返回值:true(符合) or false(不符)
function fucCheckObjMaxLength(obj , maxLen)
{
if (obj == null) {
return false;
}
return fucCheckLengthB(obj.value, 0 ,maxLen );
}
//函数名:funcCheckInvalidChar
//功能介绍:判断指定的字段是否有非法字符<>
//参数说明:obj 要检查的表单对象
//返回值:true(没有) or false(有)
function funcCheckInvalidChar(obj)
{
if (obj == null || obj.value== "")
{
return true;
}
//alert(obj.value);
var pattern = /[<>]/;
if(pattern.test(obj.value)){
return false;
}else{
return true;
}
}
/**
* 判断指定的ID的对象的最大长度是否正确
* param: objId 对象ID
* maxLength 最大长度
* return: true 正确 , false 不正确
*/
function lengthMaxCheckMsg(objId, maxLength, objName ,needFocus, showMsg) {
//个人信息check
var obj = document.getElementById(objId);
if (!fucCheckObjMaxLength(obj, maxLength)) {
if (showMsg == null || showMsg== "") {
alert(objName + "最多只能输入" + (maxLength/2) + "个汉字(或" + maxLength + "个英文数字)");
} else {
alert(showMsg);
}
if (needFocus) {
obj.focus();
}
return false;
}
return true;
}
/**
* 判断指定的ID的对象的是否包含非法字符
* param: objId 对象ID
* objName 对象的名称
* needFocus 是否需要设焦点
* showMsg 显示的错误消息
* return: true 正确 , false 不正确
*/
function invalidCharCheckMsg(objId, objName,needFocus, showMsg) {
//个人信息check
var obj = document.getElementById(objId);
if (!funcCheckInvalidChar(obj)) {
if (showMsg == null || showMsg== "") {
alert(objName + '中不能含有“<”或“>”');
} else {
alert(showMsg);
}
if (needFocus) {
obj.focus();
}
return false;
}
return true;
}
/**
* 判断指定的ID的对象是否为空
* param: objId 对象ID
* objName 对象的名称
* needFocus 是否需要设焦点
* showMsg 显示的错误消息
* return: true 不为空 , false 为空
*/
function emptyCheckMsg(objId, objName,needFocus, showMsg) {
//个人信息check
var obj = document.getElementById(objId);
if (!funcIsNotEmpty(obj.value)) {
if (showMsg == null || showMsg== "") {
alert(objName + '不能为空!');
} else {
alert(showMsg);
}
if (needFocus) {
obj.focus();
}
return false;
}
return true;
}
/*日期计算函数
* date 2007-01-01
* cnt 1 or -1
* return 2007-01-02
*/
function getDate(date , cnt){
if(date.length!=10){
return "";
}
var dateArray = date.split("-")
if(dateArray==null){
return "";
}
var temDate = new Date(dateArray[0], dateArray[1]-1, dateArray[2]);
var newDate = Date.UTC(temDate.getYear(),temDate.getMonth(),temDate.getDate())
newDate = newDate + (cnt*24*60*60*1000);
newDate = new Date(newDate);
var month = newDate.getMonth()+1;
var day = newDate.getDate();
if(Number(month)<10)
month = "0"+month;
if(Number(day)<10)
day = "0"+day;
var retDate = newDate.getYear() + "-" + month + "-" + day;
return retDate;
}

相关文章

  • JavaScript中子函数访问外部变量的3种解决方法

    JavaScript中子函数访问外部变量的3种解决方法

    任何在函数中定义的变量,都可认为是私有变量,因为不能在函数外部访问这些变量,这篇文章主要给大家介绍了关于JavaScript中子函数访问外部变量的3种解决方法,需要的朋友可以参考下
    2021-06-06
  • Document和Document.all区别分析

    Document和Document.all区别分析

    all是一个集合,包含所有html对像的集合,写一个程式,可以存取到所有的对像。
    2008-11-11
  • a标签置灰不可点击的实现方法

    a标签置灰不可点击的实现方法

    下面小编就为大家带来一篇a标签置灰不可点击的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • JS实现获取数组中最大值或最小值功能示例

    JS实现获取数组中最大值或最小值功能示例

    这篇文章主要介绍了JS实现获取数组中最大值或最小值功能,结合实例形式总结分析了javascript获取数组最大值与最小值的三种常见操作技巧,需要的朋友可以参考下
    2019-03-03
  • JavaScript中关于Object.create()的用法

    JavaScript中关于Object.create()的用法

    这篇文章主要介绍了JavaScript中关于Object.create()的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • JS Input里添加小图标的两种方法

    JS Input里添加小图标的两种方法

    大家在做网站的时候,经常需要在input里面添加小图标功能,看似功能很简单,但是实现起来还是有点技巧的,下面小编给大家介绍下JS Input里添加小图标的两种方法,需要的朋友参考下吧
    2017-11-11
  • 微信小程序实现下拉刷新和轮播图效果

    微信小程序实现下拉刷新和轮播图效果

    这篇文章主要为大家详细介绍了微信小程序实现下拉刷新和轮播图效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • JS实现的颜色实时渐变效果完整实例

    JS实现的颜色实时渐变效果完整实例

    这篇文章主要介绍了JS实现的颜色实时渐变效果,结合实例形式分析了JavaScript结合时间函数定时触发动态改变页面元素属性的相关技巧,需要的朋友可以参考下
    2016-03-03
  • 浅谈javascript中lodash与lodash-es的区别

    浅谈javascript中lodash与lodash-es的区别

    本文主要介绍了javascript中lodash与lodash-es的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • 利用js的闭包原理做对象封装及调用方法

    利用js的闭包原理做对象封装及调用方法

    下面小编就为大家带来一篇利用js的闭包原理做对象封装及调用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论