JS一些小应用

1.根据个人Eamil跳转到Email登录页面

$(function(){  
    $("#goEmailBtn").click(function(){
    	var emailhost = gotoEmail($("#emailtext").text());
    	  if (emailhost != "") {
    		  window.open("http://"+emailhost,"_blank");
          } else {
              alert("抱歉!未找到对应的邮箱登录地址,请自己进入邮箱查看邮件!");
          }
    	 
    });

});

//功能:根据用户输入的Email跳转到相应的电子邮箱首页
function gotoEmail($mail){
   var $t=$mail.split('@')[1];
    $t=$t.toLowerCase();
    if($t=='163.com'){
        return 'mail.163.com';
    }else if($t=='vip.163.com'){
        return 'vip.163.com';
    }else if($t=='126.com'){
        return 'mail.126.com';
    }else if($t=='qq.com'||$t=='vip.qq.com'||$t=='foxmail.com'){
        return 'mail.qq.com';
    }else if($t=='gmail.com'){
        return 'mail.google.com';
    }else if($t=='sohu.com'){
        return 'mail.sohu.com';
    }else if($t=='tom.com'){
        return 'mail.tom.com';
    }else if($t=='vip.sina.com'){
        return 'vip.sina.com';
    }else if($t=='sina.com.cn'||$t=='sina.com'){
        return 'mail.sina.com.cn';
    }else if($t=='tom.com'){
        return 'mail.tom.com';
    }else if($t=='yahoo.com.cn'||$t=='yahoo.cn'){
        return 'mail.cn.yahoo.com';
    }else if($t=='tom.com'){
        return 'mail.tom.com';
    }else if($t=='yeah.net'){
        return 'www.yeah.net';
    }else if($t=='21cn.com'){
        return 'mail.21cn.com';
    }else if($t=='hotmail.com'){
        return 'www.hotmail.com';
    }else if($t=='sogou.com'){
        return 'mail.sogou.com';
    }else if($t=='188.com'){
        return 'www.188.com';
    }else if($t=='139.com'){
        return 'mail.10086.cn';
    }else if($t=='189.cn'){
        return 'webmail15.189.cn/webmail';
    }else if($t=='wo.com.cn'){
        return 'mail.wo.com.cn/smsmail';
    }else if($t=='139.com'){
        return 'mail.10086.cn';
    }else if($t=='vcredit.com'){
        return 'mail.vcredit.com';
    }else {
        return '';
    }
};

 

2.判断checkbox是否勾选与选择框

if(false == $("#mycheckbox").is(":checked")){
			alert("请选择");
			return false;
}

//取得选中的值
$("#select1").val();是,
//就是取得的文本
$("#select1  option:selected").text();


3.密码强度验证

<link rel="stylesheet" th:href="@{/app/web/strength.js/strength.css}" type="text/css" media="screen"></link>
<script th:src="@{/app/web/strength.js/strength.js}"></script>

$('#pwd').strength({
        strengthClass: 'strength',
        strengthMeterClass: 'strength_meter',
        strengthButtonClass: 'button_strength',
        strengthButtonText: '',
        strengthButtonTextToggle: 'Hide Password'
    });

$('#pwd').strength();

 网址:http://git.aaronlumsden.com/strength.js/

 

4.parsley.js即时验证设置

 

data-parsley-trigger="blur"

 

5.用bootstrap.js中tooltip 代替parsley.js的errormessage显示框

$(document).ready(function() {
	            $("form").parsley({
	                errorsContainer : function(ParsleyField) {
		                return ParsleyField.$element.attr("title");
	                },
	                errorsWrapper : "",
	            });
	            $.listen('parsley:field:error', function(fieldInstance) {

		            arrErrorMsg = ParsleyUI.getErrorsMessages(fieldInstance);
		            errorMsg = arrErrorMsg.join(';');

		            fieldInstance.$element.popover('destroy').popover({
		                container : 'body',
		                placement : 'right',
		                content : errorMsg
		            }).popover('show');

	            });

	            $.listen('parsley:field:success', function(fieldInstance) {
		            fieldInstance.$element.popover('destroy');
	            });
            });

 

6.parsley.js 两次输入是否一致验证

 

<input id="pwd"  name="pwd"  />
<input id="repeatpwd"  data-parsley-trigger="blur" data-parsley-equalto="#pwd" data-parsley-equalto-message="输入的确认密码与密码不一致"/>

 

7.parsley.js 远程验证

 

<input id="username"  name="username" type="text" data-parsley-remote-validator="validateUsername" data-parsley-remote="1" data-parsley-trigger="blur change" placeholder="用户名/手机/邮箱"  data-parsley-required-message="请输入登录名..." data-parsley-remote-message="此用户不存在!" required="required"></input>

 

 

 

	$('#username').parsley({errorsWrapper:""}).addAsyncValidator(
			  'validateUsername', function (xhr) {
				  if(xhr.status === 200){
					  $('#rightpng').show();
					  return 200;
				  }else{
					  $('#rightpng').hide();
					  //window.ParsleyUI.addError(username,errorsWrapper,"");
					  //window.ParsleyUI.addError(UserLogin,errorMsg,"此用户不存在!");
					  //return false;
				  }
				  //alert(xhr.status);
			  }, '/obiz/app/account/testparsley',{ "type": "POST", "dataType": "json", "data": { name:function () { return $('#username').val(); }} });
});

  

 

	@RequestMapping("/testparsley")
	public String testParsley(HttpServletRequest request) throws Exception{
		String name = request.getParameter("name");
		//System.out.println(name);
		Account account = register.getAccountByLoginName(name);
		if(account == null){
			throw new Exception("error");
		}else{
			return "account/home";
		}
	}

 

8.parsley.js  只能输入字母与数字

    

data-parsley-type="alphanum"

 

 9.jquery md5加密

  

<script th:src="@{/app/web/jquery/jquery.md5.js}"></script>


var pval = $("#pwd").val();
$.md5(pval).toUpperCase();

 

10.判断组件是否存在

var count=$('div').length;
if(count>0){
    alert('存在');

}else{
    alert('不存在');

}
或者
if($('body:has(div)'))
{
    alert('存在');
}else{
    alert('不存在');
}

 

11.return false与e.preventDefault();

 

12.span文本居中:

  

text-align: center;display:block;

 13.组件是否hidden

$("#exchangebtn").is(":hidden")

 

if($("#exchangebtn").is(":hidden")) 
		{ 
			$("#exchangebtn").show();
		} 

 

 

14.正则表达式(字符串中必须包含数字\大写字母\小写字母,且数字\大写字母\小写字母必须至少出现一次,长度为6-16

$(function(){
//正则表达式(字符串中必须包含数字\大写字母\小写字母,且数字\大写字母\小写字母必须至少出现一次,长度为8-30位
var r=/^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{8,30}$/;
var t1='aaaaaaaa';
var t2='11111111';
var t3='AAAAAAAA';
var t4='1111AAAA';
var t5='aa11AAa';
var t6='a1a1A1A3Az10ooOO';
alert(r.test(t1));//单一条件 false
alert(r.test(t2));//单一条件 false
alert(r.test(t3));//单一条件 false
alert(r.test(t4));//两个条件 false
alert(r.test(t5));//三个条件,但 长度不够 false
alert(r.test(t6));//满足条件 true
});

//正则表达式(字符串中必须包含数字\大写字母\小写字母,且数字\大写字母\小写字母必须至少出现一次,长度为8-30位
 var r=/^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{8,30}$/;
 if(!r.test(password)){
	 $.messager.alert('错误信息','<div style="padding-top:15px;padding-left:5px"><b>密码应由不少于8位的大小写字母、数字以及标点符号组成。</b></div>','error');
	 return;
 }

 

15.验证数字的正则表达式集 

 

验证数字:^[0-9]*$ 

验证n位的数字:^\d{n}$ 

验证至少n位数字:^\d{n,}$ 

验证m-n位的数字:^\d{m,n}$ 

验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 

验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 

验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 

验证非零的正整数:^\+?[1-9][0-9]*$ 

验证非零的负整数:^\-[1-9][0-9]*$ 

验证非负整数(正整数 + 0) ^\d+$ 

验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 

验证长度为3的字符:^.{3}$ 

验证由26个英文字母组成的字符串:^[A-Za-z]+$ 

验证由26个大写英文字母组成的字符串:^[A-Z]+$ 

验证由26个小写英文字母组成的字符串:^[a-z]+$ 

验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 

验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 

验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 

验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 

验证汉字:^[\u4e00-\u9fa5],{0,}$ 

验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 

验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 

验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 

验证身份证号(15位或18位数字):^\d{15}|\d{}18$ 

验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 

验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。 

整数:^-?\d+$ 

非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$ 

正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 

非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 

负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 

浮点数 ^(-?\d+)(\.\d+)?$

 

 

16.js中substring和substr的用法

 

substring 方法用于提取字符串中介于两个指定下标之间的字符

 

substring(start,end)

 

开始和结束的位置,从零开始的索引

 

参数     描述

start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

 

返回值

 

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

 

说明

 

substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。

如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

如果 start 或 end 为负数,那么它将被替换为 0。

 

2.substr 方法

 

定义和用法

 

substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

 

语法

 

stringObject.substr(start [, length ])

 

参数    描述

start   必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

length 可选。在返回的子字符串中应包括的字符个数。

 

说明

 

如果start为负数,则start=str.length+start。

如果 length 为 0 或负数,将返回一个空字符串。

如果没有指定该参数,则子字符串将延续到stringObject的最后。

 

17.判断是否为空白对象

 

/**
 * 判断是否为空白对象,字段 如 null,undefined,"",{},[]
 * @param item
 * @returns {boolean}
 */
function isBlank(obj){
    return obj === null || obj === undefined || String(obj).trim() === ''
            ||JSON.stringify(obj)==="{}" || JSON.stringify(obj)==="[]";
}
 

 

/**
 * 判断是否是object类型
 * @param obj
 * @returns {boolean}
 */
function isObj(obj){
    return typeof obj === "object";
}
/**
 * 判断是否为空白对象,字段 如 null,undefined,"",{},[]
 * @param item
 * @returns {boolean}
 */
function isBlank(obj){
    return obj === null || obj === undefined || String(obj).trim() === ''
            ||JSON.stringify(obj)==="{}" || JSON.stringify(obj)==="[]";
}

/**
 * 判断是否是数组
 * @returns {boolean}
 */
function isArray(obj){
    return Object.prototype.toString.call(obj) === "[object Array]";
}
/**
 * 删除空白字段,深层遍历对象字段
 * @param obj
 */
function deleBlank(obj){
    if(isBlank(obj)){
        return;
    }
    if(isArray(obj)) {
        arrayDeleBlank(obj);
    } else if (isObj(obj)) {
        objDeleBlank(obj);
    }
}
/**
 *
 * @param obj
 */
function objDeleBlank(obj){
    if(!isObj(obj)){
        return;
    }
    for(var proName in obj){
        if(isBlank(obj[proName])){
            delete obj[proName];
            continue;
        }
        if(isObj(obj[proName])){
            objDeleBlank(obj[proName]);
        }
        if(isArray(obj[proName])){
            arrayDeleBlank(obj[proName]);
        }
        if(isBlank(obj[proName])){
            delete obj[proName];
        }
    }
}

function arrayDeleBlank(array,firstIndex){
    if(!isArray(array)){
        return;
    }
    if(firstIndex===undefined){
        firstIndex=0;
    }
    for(var i=firstIndex;i<array.length;i++){
        if(isBlank(array[i])){
            array.splice(i,1);
            arrayDeleBlank(array,i);
        }
        if(isArray(array[i])){
            arrayDeleBlank(array[i]);
        }
        if(isObj(array[i])){
            objDeleBlank(array[i]);
        }
        if(isBlank(array[i])){
            array.splice(i,1);
        }
    }
}
 
18. easyui打开关闭弹出层
//easyui打开弹出层
function scrollEasyuiVisible(id) {
    $("#" + id).window({
        closed:false,
        modal:true,
        onOpen: function () {
            $(document.body).css({
                "overflow-x":"hidden",
                "overflow-y":"hidden"
            });
            return true;
        },
        onClose: function () {
            $(document.body).css({
                "overflow-x":"auto",
                "overflow-y":"auto"
            });
            return true;
        }
    });
    $('#' + id).window('move',{top:$(document).scrollTop() + 100});
}

//easyui关闭弹出层
function closeEasyuiWin(id) {
    $("#" + id).window("close");
}
 
19. easyui小数判断
//easyui小数判断
function xiaoshu() {
    jQuery.extend(jQuery.fn.validatebox.defaults.rules, {
        xiaoshu: {
            validator: function(value, param){
                return /^\d+(.\d{1,2})?$/.test(value);
            },
            message: '只能输入数字或者两位小数'
        }
    });
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值