常用简易JavaScript函数


Posted in Javascript onApril 09, 2009

//函数名: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 相关文章推荐
jQuery 使用手册(一)
Sep 23 Javascript
理解Javascript_10_对象模型
Oct 16 Javascript
25个非常棒的jQuery滑块插件和教程小结
Sep 02 Javascript
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
jquery制作搜狐快站页面效果示例分享
Feb 21 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
Nov 23 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
May 17 Javascript
layui table 参数设置方法
Aug 14 Javascript
小程序文字跑马灯效果
Dec 28 Javascript
如何使用VuePress搭建一个类型element ui文档
Feb 14 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
Nov 04 Javascript
javascript fullscreen全屏实现代码
Apr 09 #Javascript
jQuery 插件 将this下的div轮番显示
Apr 09 #Javascript
javascript RadioButtonList获取选中值
Apr 09 #Javascript
Cookie 注入是怎样产生的
Apr 08 #Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
Apr 07 #Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 #Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
Apr 07 #Javascript
You might like
php.ini中文版
2006/10/09 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
JavaScript Timer实现代码
2010/02/17 Javascript
围观tangram js库
2010/12/28 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
python的id()函数解密过程
2012/12/25 Python
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
python开发之str.format()用法实例分析
2016/02/22 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
客运企业隐患排查工作方案
2014/06/06 职场文书
党员十八大心得体会
2014/09/12 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
网上祭英烈活动总结
2015/02/04 职场文书