js常用自定义公共函数汇总

 本文整理了一些js常用自定义公共函数如检查是否是日期格式、判断输入的字符是否为中文、判断是否为空、固定电话、手机号码等等 

代码如下:
String.prototype.trim = function(){ 
return this.replace(/(^s*)|(s*$)/g, ""); 

 
//检查是否是日期格式 
function isDate(datestr){ 
var result = datestr.match(/((^((1[8-9]d{2})|([2-9]d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]d{2})|([2-9]d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]d{2})|([2-9]d{3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)(0?2)(-)(29)$)|(^([3579][26]00)(-)(0?2)(-)(29)$)|(^([1][89][0][48])(-)(0?2)(-)(29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1][89][2468][048])(-)(0?2)(-)(29)$)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][89][13579][26])(-)(0?2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/); 
if(result==null){ 
return "no"; 

return "yes"; 

 
//此方法以上面效果一致 
function isDate2(datestr) { 
var result = datestr.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/); 
if (result == null) 
return "no"; 
var d = new Date(result[1], result[3] - 1, result[4]); 
if((d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4])){ 
return "yes"; 

return "no"; 

 
//判断输入的字符是否为中文 
function IsChinese(str){ 
if(str.length!=0){ 
reg=/^[u0391-uFFE5]+$/; 
if(!reg.test(str)){ 
// alert("对不起,您输入的字符串类型格式不正确!"); 
return "no"; 


return "yes"; 

 
 
//判断是否为空 
function isEmpty(str){ 
if(str==null||typeof str=="undefined"||str.trim()==""){ 
return true; 
}else{ 
return false; 


 
//固定电话 
function testTelephone(phone){ 
var phone_reg = new RegExp(/^([+]{0,1}d{3,4}|d{3,4}-)?d{7,8}$/); 
if(!phone_reg.test(phone)){ 
return "no"; 

return "yes"; 

//折扣 
function isDiscount(discount){ 
var phone_reg = new RegExp(/^(0([.]d{1,2})|1|1.00|1.0)$/); 
if(!phone_reg.test(discount)){ 
return "no"; 

return "yes"; 

//手机号码 
function testMobile(mobile){ 
var mobile_reg = new RegExp(/^0{0,1}1[0-9]{10}$/); 
if(!mobile_reg.test(mobile)){ 
return "no"; 

return "yes"; 

//QQ号码从10000开始 
function testQQ(qq){ 
var qq_reg = new RegExp(/^[1-9][0-9]{4,}$/); 
if(!qq_reg.test(qq)){ 
return "no"; 

return "yes"; 

//电子邮件 
function testEmail(email){ 
var email_reg = new RegExp(/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/); 
if(!email_reg.test(email)){ 
return "no"; 

return "yes"; 

 
//不带符号的正整数 
function testPlusDigit(digit){ 
var plusDigit_reg = new RegExp(/^d+$/); 
if(!plusDigit_reg.test(digit)){ 
return "no"; 

return "yes"; 

 
//DOUBLE价格 
function testPriceFormat(str){ 
var priceFormatReg = new RegExp(/^d+(.d{1,2})?$/); 
if(!priceFormatReg.test(str)){ 
return "no"; 

return "yes"; 

 
//身份证 
function testIDCard(str){ 
var IDCardReg = new RegExp(/(^d{15}$)|(^d{17}([0-9]|X)$)/); 
if(!IDCardReg.test(str)){ 
return "no"; 

return "yes"; 

 
//2012-06-19日期格式 
function testDate(str){ 
var dateReg = new RegExp(/(^d{4}-[0,1][0-9]-[0-3][0-9]$)/); 
if(!dateReg.test(str)){ 
return "no"; 

return "yes"; 

 
 
 
//浮点数精确运算(加法) 
function accAdd(arg1,arg2){ 
var r1,r2,m,n; 
try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
m=Math.pow(10,Math.max(r1,r2)); 
n=(r1>=r2)?r1:r2; 
return ((arg1*m+arg2*m)/m).toFixed(n); 

Number.prototype.add = function (arg){ 
return accAdd(arg,this); 

 
//浮点数精确运算(减法) 
function accSub(arg1,arg2){ 
return accAdd(arg1,-arg2); 

Number.prototype.subtract = function (arg){ 
return accSub(this,arg); 

 
//浮点数精确运算(乘法) 
function accMul(arg1,arg2) 

var m=0,s1=arg1.toString(),s2=arg2.toString(); 
try{m+=s1.split(".")[1].length}catch(e){} 
try{m+=s2.split(".")[1].length}catch(e){} 
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) 

Number.prototype.mul = function (arg){ 
return accMul(arg, this); 

 
//浮点数精确运算(除法) 
function accDiv(arg1,arg2){ 
var t1=0,t2=0,r1,r2; 
try{t1=arg1.toString().split(".")[1].length}catch(e){} 
try{t2=arg2.toString().split(".")[1].length}catch(e){} 
with(Math){ 
r1=Number(arg1.toString().replace(".","")) 
r2=Number(arg2.toString().replace(".","")) 
return (r1/r2)*pow(10,t2-t1); 


Number.prototype.div = function (arg){ 
return accDiv(this, arg); 

 
//限制输入数字 
function isNumber(e) { 
if ($.browser.msie) { 
if ( ((event.keyCode > 47) && (event.keyCode < 58)) || 
(event.keyCode == 8) ) { 
return true; 
} else { 
return false; 

} else { 
if ( ((e.which > 47) && (e.which < 58)) || 
(e.which == 8) ) { 
return true; 
} else { 
return false; 



 
 
//字符串长度截取 
function cutstr(str, len) { 
var temp; 
var icount = 0; 
var patrn = /[^x00-xff]/; 
var strre = ""; 
for (var i = 0; i < str.length; i++) { 
if (icount < len - 1) { 
temp = str.substr(i, 1); 
if (patrn.exec(temp) == null) { 
icount = icount + 1; 
} else { 
icount = icount + 2; 

strre += temp; 
} else { 
break 


return strre + "..."; 

 
//获取域名主机 
function getHost(url) { 
var host = "null"; 
if (typeof url == "undefined" || null == url) { 
url = window.location.href; 

var regex = /^w+://([^/]*).*/; 
var match = url.match(regex); 
if (typeof match != "undefined" && null != match) { 
host = match[1]; 

return host; 

 
//判断某个值是否在所在范围 
//rang=1 表示正整数[0,2147483647] 2表示float[0,3.4028235E38] 
//return= 'empty' 表示输入为空, 
function isRang(str,rang){ 
if(typeof str == "number"){ 
var num = Number(str); 
//判断是否在正整数范围 
if( rang == 1){ 
if(testPlusDigit(num)=="yes"){ 
if(num>=0&&num<=2147483647){ 
return "is_int"; 
}else{ 
return "is_not_int_rang"; 

}else{ 
return "is_not_int"; 

}else if(rang == 2){ 
if(testPriceFormat(num)=="yes"){ 
if(num>=0&&num<=3.4028235E38){ 
return "is_float"; 
}else{ 
return "is_not_float_rang"; 

}else{ 
return "is_not_float"; 

}else{ 
return "rang_is_not_right"; 

}else{ 
return "is_not_number"; 

时间: 2024-10-18 11:50:44

js常用自定义公共函数汇总的相关文章

js 常用时间日期函数

// js 常用时间日期函数 function load(){  var time = new Date( ); //获得当前时间  var year = time.getFullYear();   //获得年  var month = (time.getMonth()+1);   //获得月份 0-11  if(month<10){   month = '0' + month;  }  var ri = time.getDate();       //获得日期 1-31  if(ri<10)

php常用文件操作函数汇总_php技巧

本文实例分析了php常用文件操作函数.分享给大家供大家参考.具体方法如下: 这里搜集了大量的php中文件操作函数如有文件打开,创建,删除,更变组,读取写文件,文件上传以及打开远程文件,把内容写入文件等实例. 复制代码 代码如下: $fp=fopen("test.txt","r"); //以只读方式打开文件,将文件指针指向文件头 $fp=fopen("test.txt","r+"); //以读写方式打开文件,将文件指针指向文件头

JS常用的对象函数总结归纳

1.字符串对象函数和属性函数:charAt():返回在指定位置的字符.charCodeAt():返回在指定的位置的字符的 Unicode 编码.concat():连接字符串.indexOf():检索字符串.lastIndexOf():从后向前搜索字符串.match():找到一个或多个正则表达式的匹配.replace():替换与正则表达式匹配的子串.search():检索与正则表达式相匹配的值.slice():提取字符串的片断,并在新的字符串中返回被提取的部分.split():把字符串分割为字符串

JS自定义选项卡函数及用法实例分析_javascript技巧

本文实例讲述了JS自定义选项卡函数及用法.分享给大家供大家参考.具体如下: 这里分享一个JS选项卡函数附带演示效果,选项卡函数参数调用说明: cmd:点击元素集合 con:显示容器集合 evt:触发事件 css:为当前点击元素的样式名称 index:为默认显示第几项的索引值 目前选项卡的样式还比较简洁和粗糙,想用的自己动动手美化一下. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-zdy-tab-cha-fun-style-codes/

非常实用的PHP常用函数汇总_php技巧

本文实例总结了一些在php应用开发中常用到的函数,这些函数有字符操作,文件操作及其它的一些操作了,分享给大家供大家参考.具体如下: 1.PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密. 复制代码 代码如下: function encryptDecrypt($key, $string, $decrypt){     if($decrypt){         $decrypted = rtrim(m

js常用系统函数用法实例分析

 这篇文章主要介绍了js常用系统函数用法,实例分析了escape.parseInt.parseFloat.isNaN.isFinite等函数的用法,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了js常用系统函数用法.分享给大家供大家参考. 具体代码如下: 代码如下: <html> <head> </head> <body> <script type="text/javascript"> //1. escap

JS常用函数和常用技巧小结_javascript技巧

学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. Ajax请求 jquery ajax函数 我自己封装了一个ajax的函数,代码如下: var Ajax = function(url, type success, error) { $.ajax({ url: url, type: type, dataType: 'json', timeout: 10000, success: fu

js常用系统函数用法实例分析_javascript技巧

本文实例讲述了js常用系统函数用法.分享给大家供大家参考. 具体代码如下: 复制代码 代码如下: <html> <head> </head> <body> <script type="text/javascript"> //1. escape()函数,把字符串转成各计算机平台通用的unicode编码:解码(转回去)则用enescape(). var str = '王美人'; document.write(escape(str)

js开发中常用日期时间函数

js开发中常用日期时间函数 字符串转成日期类型,date.prototype.isleapyear 判断闰年 date.prototype.format 日期格式化 date.prototype.dateadd 日期计算 date.prototype.datediff 比较日期差 date.prototype.tostring 日期转字符串 date.prototype.toarray 日期分割为数组 date.prototype.datepart 取日期的部分信息 date.prototype