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); } } }
//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"); }
//easyui小数判断 function xiaoshu() { jQuery.extend(jQuery.fn.validatebox.defaults.rules, { xiaoshu: { validator: function(value, param){ return /^\d+(.\d{1,2})?$/.test(value); }, message: '只能输入数字或者两位小数' } }); }