Js is often used for custom public function summaries

  • 2020-03-30 01:21:46
  • OfStack

 
String.prototype.trim = function(){ 
return this.replace(/(^s*)|(s*$)/g, ""); 
} 

//Check if it is a date format
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"; 
} 

//This method is consistent with the above results
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"; 
} 

//Determines whether the input character is Chinese
function IsChinese(str){ 
if(str.length!=0){ 
reg=/^[u0391-uFFE5]+$/; 
if(!reg.test(str)){ 
//Alert (" sorry, the type of string you entered is not formatted correctly!" );
return "no"; 
} 
} 
return "yes"; 
} 


//Determine whether it is null
function isEmpty(str){ 
if(str==null||typeof str=="undefined"||str.trim()==""){ 
return true; 
}else{ 
return false; 
} 
} 

//Fixed telephone
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"; 
} 
// discount  
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"; 
} 
//Mobile phone number
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 number starts from 10000
function testQQ(qq){ 
var qq_reg = new RegExp(/^[1-9][0-9]{4,}$/); 
if(!qq_reg.test(qq)){ 
return "no"; 
} 
return "yes"; 
} 
//E-mail
function testEmail(email){ 
var email_reg = new RegExp(/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/); 
if(!email_reg.test(email)){ 
return "no"; 
} 
return "yes"; 
} 

//Unsigned positive integer
function testPlusDigit(digit){ 
var plusDigit_reg = new RegExp(/^d+$/); 
if(!plusDigit_reg.test(digit)){ 
return "no"; 
} 
return "yes"; 
} 

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

//Id card
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 date format
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"; 
} 



//Floating-point arithmetic (addition)
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); 
} 

//The exact operation of floating point Numbers (subtraction)
function accSub(arg1,arg2){ 
return accAdd(arg1,-arg2); 
} 
Number.prototype.subtract = function (arg){ 
return accSub(this,arg); 
} 

//Floating-point exact arithmetic (multiplication)
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); 
} 

//Floating-point arithmetic (division)
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); 
} 

//Restricted input number
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; 
} 
} 
} 


//String length interception
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 + "..."; 
} 

//Get domain host
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; 
} 

//Determines whether a value is in its range
//Rang =1 means a positive integer [0,2147483647] 2 means float[0,3.4028235E38]
//Return = 'empty' means the input is empty,
function isRang(str,rang){ 
if(typeof str == "number"){ 
var num = Number(str); 
//Determines whether it is in the range of positive integers
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"; 
} 
} 

Related articles: