常用簡易JavaScript函數(shù)
更新時間:2009年04月09日 17:53:52 作者:
返回字符串的字節(jié)長度 檢查表單是否符合規(guī)定的長度 等表達(dá)驗(yàn)證函數(shù)
//函數(shù)名:strByteLength
//功能介紹:返回字符串的字節(jié)長度
//參數(shù)說明: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;
}
//函數(shù)名:fucCheckLength
//功能介紹:檢查表單是否符合規(guī)定的長度
//參數(shù)說明:obj 要檢查的表單對象
// name 對象名稱
// length 規(guī)定長度
//返回值: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+"超出規(guī)定長度!最長允許"+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;
}
}
//去空隔函數(shù)
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;
}
//函數(shù)名:JtrimCn
//功能介紹:去掉字符串前后的空格[包括中文空格]
//參數(shù)說明: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規(guī)范字符判斷
function isChar(Str){
var regu = "^([0-9a-zA-Z]+)$";
var re = new RegExp(regu);
if (Str.search(re) != -1){
return true;
}
return false;
}
//判斷是否數(shù)字
function IsNum(Str){
var regu = "^([0-9]+)$";
var re = new RegExp(regu);
if (Str.search(re) != -1)
return true;
{
return false;
}
}
//函數(shù)名:funcIsNotEmpty
//功能介紹:檢查字符串是否為空
//參數(shù)說明:str 字符串
//返回值:true:不為空 false:為空
function funcIsNotEmpty(str){
var s = /\S/;
if(str==null){
return false;
}
return s.test(str);
}
//函數(shù)名:fucCheckLength
//功能介紹:檢查表單是否符合規(guī)定的長度
//參數(shù)說明:objValue 要檢查的表單對象的數(shù)值
// 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("-") ;
//轉(zhuǎn)換為12-18-2002格式
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
aDate = sDate2.split("-") ;
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) ;
//把相差的毫秒數(shù)轉(zhuǎn)換為天數(shù)
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24);
//如果開始時間小于結(jié)束時間
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;
}
}
//函數(shù)名:fucCheckMaxLength
//功能介紹:檢查表單是否符合規(guī)定的長度
//參數(shù)說明:objValue 要檢查的表單對象的數(shù)值
// name 對象數(shù)值
// maxLen 最大長度
//返回值:true(符合) or false(不符)
function fucCheckMaxLength(objValue , maxLen)
{
return fucCheckLengthB(objValue, 0 ,maxLen );
}
//函數(shù)名:fucCheckMaxLength
//功能介紹:檢查指定對象的數(shù)值是否符合規(guī)定的長度
//參數(shù)說明:objValue 要檢查的表單對象的數(shù)值
// name 對象
// maxLen 最大長度
//返回值:true(符合) or false(不符)
function fucCheckObjMaxLength(obj , maxLen)
{
if (obj == null) {
return false;
}
return fucCheckLengthB(obj.value, 0 ,maxLen );
}
//函數(shù)名:funcCheckInvalidChar
//功能介紹:判斷指定的字段是否有非法字符<>
//參數(shù)說明: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 + "個英文數(shù)字)");
} else {
alert(showMsg);
}
if (needFocus) {
obj.focus();
}
return false;
}
return true;
}
/**
* 判斷指定的ID的對象的是否包含非法字符
* param: objId 對象ID
* objName 對象的名稱
* needFocus 是否需要設(shè)焦點(diǎn)
* 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 是否需要設(shè)焦點(diǎn)
* 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;
}
/*日期計算函數(shù)
* 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;
}
//功能介紹:返回字符串的字節(jié)長度
//參數(shù)說明: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;
}
//函數(shù)名:fucCheckLength
//功能介紹:檢查表單是否符合規(guī)定的長度
//參數(shù)說明:obj 要檢查的表單對象
// name 對象名稱
// length 規(guī)定長度
//返回值: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+"超出規(guī)定長度!最長允許"+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;
}
}
//去空隔函數(shù)
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;
}
//函數(shù)名:JtrimCn
//功能介紹:去掉字符串前后的空格[包括中文空格]
//參數(shù)說明: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規(guī)范字符判斷
function isChar(Str){
var regu = "^([0-9a-zA-Z]+)$";
var re = new RegExp(regu);
if (Str.search(re) != -1){
return true;
}
return false;
}
//判斷是否數(shù)字
function IsNum(Str){
var regu = "^([0-9]+)$";
var re = new RegExp(regu);
if (Str.search(re) != -1)
return true;
{
return false;
}
}
//函數(shù)名:funcIsNotEmpty
//功能介紹:檢查字符串是否為空
//參數(shù)說明:str 字符串
//返回值:true:不為空 false:為空
function funcIsNotEmpty(str){
var s = /\S/;
if(str==null){
return false;
}
return s.test(str);
}
//函數(shù)名:fucCheckLength
//功能介紹:檢查表單是否符合規(guī)定的長度
//參數(shù)說明:objValue 要檢查的表單對象的數(shù)值
// 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("-") ;
//轉(zhuǎn)換為12-18-2002格式
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
aDate = sDate2.split("-") ;
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) ;
//把相差的毫秒數(shù)轉(zhuǎn)換為天數(shù)
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24);
//如果開始時間小于結(jié)束時間
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;
}
}
//函數(shù)名:fucCheckMaxLength
//功能介紹:檢查表單是否符合規(guī)定的長度
//參數(shù)說明:objValue 要檢查的表單對象的數(shù)值
// name 對象數(shù)值
// maxLen 最大長度
//返回值:true(符合) or false(不符)
function fucCheckMaxLength(objValue , maxLen)
{
return fucCheckLengthB(objValue, 0 ,maxLen );
}
//函數(shù)名:fucCheckMaxLength
//功能介紹:檢查指定對象的數(shù)值是否符合規(guī)定的長度
//參數(shù)說明:objValue 要檢查的表單對象的數(shù)值
// name 對象
// maxLen 最大長度
//返回值:true(符合) or false(不符)
function fucCheckObjMaxLength(obj , maxLen)
{
if (obj == null) {
return false;
}
return fucCheckLengthB(obj.value, 0 ,maxLen );
}
//函數(shù)名:funcCheckInvalidChar
//功能介紹:判斷指定的字段是否有非法字符<>
//參數(shù)說明: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 + "個英文數(shù)字)");
} else {
alert(showMsg);
}
if (needFocus) {
obj.focus();
}
return false;
}
return true;
}
/**
* 判斷指定的ID的對象的是否包含非法字符
* param: objId 對象ID
* objName 對象的名稱
* needFocus 是否需要設(shè)焦點(diǎn)
* 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 是否需要設(shè)焦點(diǎn)
* 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;
}
/*日期計算函數(shù)
* 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函數(shù)
- 經(jīng)常用到的javascript驗(yàn)證函數(shù)收集
- 幾個常用的JavaScript字符串處理函數(shù) - split()、join()、substring()和indexOf()
- JavaScript 常用函數(shù)庫詳解
- Jquery作者John Resig自己封裝的javascript 常用函數(shù)
- JavaScript 常用函數(shù)
- 一些常用且實(shí)用的原生JavaScript函數(shù)
- JavaScript 匿名函數(shù)(anonymous function)與閉包(closure)
- javascript中動態(tài)函數(shù)用法實(shí)例分析
- 跟我學(xué)習(xí)javascript的函數(shù)和函數(shù)表達(dá)式
- 跟我學(xué)習(xí)javascript的函數(shù)調(diào)用和構(gòu)造函數(shù)調(diào)用
- 詳解JavaScript中常用的函數(shù)類型
相關(guān)文章
JavaScript中子函數(shù)訪問外部變量的3種解決方法
任何在函數(shù)中定義的變量,都可認(rèn)為是私有變量,因?yàn)椴荒茉诤瘮?shù)外部訪問這些變量,這篇文章主要給大家介紹了關(guān)于JavaScript中子函數(shù)訪問外部變量的3種解決方法,需要的朋友可以參考下2021-06-06a標(biāo)簽置灰不可點(diǎn)擊的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猘標(biāo)簽置灰不可點(diǎn)擊的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02JS實(shí)現(xiàn)獲取數(shù)組中最大值或最小值功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)獲取數(shù)組中最大值或最小值功能,結(jié)合實(shí)例形式總結(jié)分析了javascript獲取數(shù)組最大值與最小值的三種常見操作技巧,需要的朋友可以參考下2019-03-03JavaScript中關(guān)于Object.create()的用法
這篇文章主要介紹了JavaScript中關(guān)于Object.create()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02JS實(shí)現(xiàn)的顏色實(shí)時漸變效果完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)的顏色實(shí)時漸變效果,結(jié)合實(shí)例形式分析了JavaScript結(jié)合時間函數(shù)定時觸發(fā)動態(tài)改變頁面元素屬性的相關(guān)技巧,需要的朋友可以參考下2016-03-03淺談javascript中l(wèi)odash與lodash-es的區(qū)別
本文主要介紹了javascript中l(wèi)odash與lodash-es的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10