N个必备的实用jQuery代码段

jQuery(function() {

/*
<input type="password" name="pass" id="pass" />
<span id="passstrength"></span>*/

//下面的正则表达式建议各位收藏哦,项目上有可能会用得着
$('#pass').keyup(function(e) {
//密码为八位及以上并且字母数字特殊字符三项都包括
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");

//密码为七位及以上并且字母、数字、特殊字符三项中有两项,强度是中等
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{6,}).*", "g");
if (false == enoughRegex.test($(this).val())) {
$('#passstrength').html('More Characters');
} else if (strongRegex.test($(this).val())) {
$('#passstrength').className = 'ok';
$('#passstrength').html('Strong!');
} else if (mediumRegex.test($(this).val())) {
$('#passstrength').className = 'alert';
$('#passstrength').html('Medium!');
} else {
$('#passstrength').className = 'error';
$('#passstrength').html('Weak!');
}
return true;
});

/*检查图片是否加载完成*/
$('img').load(function () {
console.log('image load successful');
});

/*.鼠标悬停(hover)切换 class 属性*/

$('.btn').hover(function () {
$(this).addClass('hover');
}, function () {
$(this).removeClass('hover');
});

/*
禁用 input 字段
有时你可能需要禁用表单的 submit 按钮或者某个 input 字段,直到用户执行了某些操作
(例如,检查“已阅读条款”复选框)。可以添加 disabled 属性,直到你想启用它时:
*/
$('input[type="submit"]').prop('disabled', true);
/*你要做的就是执行 removeAttr 方法,并把要移除的属性作为参数传入:*/

$('input[type="submit"]').removeAttr('disabled');


/*让两个 DIV 高度相同*/

var $columns = $('.column');var height = 0;
$columns.each(function () {
if ($(this).height() > height) {
height = $(this).height();
}
});
$columns.height(height);


/* 替换元素*/
$(document).ready(function() {
$('#id').replaceWith('<DIV>I have been replaced</DIV>');
});


/*验证元素是否为空*/
$(document).ready(function() {
if ($('#id').html()) {
// do something
}
});


/*移除单词功能*/
$(document).ready(function() {
var el = $('#id');
el.html(el.html().replace(/word/ig, ""));
});


/*使整个DIV可点击*/
$(document).ready(function() {
$("div").click(function(){
//get the url from href attribute and launch the url
window.location=$(this).find("a").attr("href"); return false;
});// how to use<DIV><A href="index.html">home</A></DIV>});
});



/*页面load方法*/
$().ready(function() {

})
/*div隐藏操作*/
// div是否隐藏
function isHideMenu(){
return $("#menuContent").is(":hidden")
}
// 隐藏div
mainFrameset.hide();
// 显示div
mainFrameset.show();




/*

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用

匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字

匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位

匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用


匹配特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串


在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:


只能输入数字:“^[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]*$”
只能输入长度为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-./?%&=]*)?$”
验证电话号码:“^((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”。


匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}

(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}
(3)应用:利用正则表达式分解和转换IP地址
function IP2V(ip) //IP地址转换成对应数值
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}

/*
(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文:onkeyup="value="/blog/value.replace(/["^u4E00-u9FA5]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: onkeyup="value="/blog/value.replace(/["^uFF00-uFFFF]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"
用正则表达式限制只能输入数字:onkeyup="value="/blog/value.replace(/["^d]/g,'') "onbeforepaste= "clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
用正则表达式限制只能输入数字和英文:onkeyup="value="/blog/value.replace(/[W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''

*/

//正则匹配

// 匹配中文字符的正则表达式: [/u4e00-/u9fa5]
// 匹配双字节字符(包括汉字在内):[^/x00-/xff]
// 匹配空行的正则表达式:/n[/s| ]*/r
// 匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/
// 匹配首尾空格的正则表达式:(^/s*)|(/s*$)(像vbscript那样的trim函数)
// 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
// 匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?
/* 以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/u4E00-/u9FA5]/g,‘‘))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/uFF00-/uFFFF]/g,‘‘))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^/d]/g,‘‘) "onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/d]/g,‘‘))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[/W]/g,‘‘) "onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getData(‘text‘).replace(/[^/d]/g,‘‘))" */


//onkeyup限制输入框只能输入数字
$('input#box').keyup(function(){
var c=$(this);
if(/[^\d]/.test(c.val())){//替换非数字字符
var temp_amount=c.val().replace(/[^\d]/g,'');
$(this).val(temp_amount);
}
})








function trim(inputstr) //去处空格,在获取客户端录入的表单信息前,
//都先trim一下再提交 例如:“form1.org_name.value = trim(form1.org_name.value);”
{
if(!inputstr.length>0) return "";
var starts=0;
var ends=inputstr.length;
while(starts<ends)
{
if(inputstr.substring(starts,starts+1)==" ")
starts++;
else
break;
}
while(starts<ends)
{
if(inputstr.substring(ends-1,ends)==" ")
ends--;
else
break;
}
return inputstr.substring(starts,ends);
}

function isvalidcode(inputs) //校验邮政编码
{
var i,temp;
var isvalidcode = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0||inputstr.length!=6) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9"))
{
isvalidcode=false;
break;
}
}
return isvalidcode;
}

function isvalidtel(inputs) //校验电话号码
{
var i,temp;
var isvalidtel = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9" || temp=="-"))
{
isvalidtel=false;
break;
}
}
return isvalidtel;
}

function isrealnum(inputs) //校验实数(含小数点)
{
var i,temp;
var isrealnum = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9" || temp=="."))
{
isrealnum=false;
break;
}
}
return isrealnum;
}

function isnumeric(inputs) //校验是否整数
{
var i,temp;
var isnumeric = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0) return false;
//isvalid = true;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9"))
{
isnumeric=false;
break;
}
}
return isnumeric;
}

function isvalidide(inputs) //校验身份证
{
var i,temp;
var isvalidide = true;
inputstr=trim(inputs);
if(inputstr.length == null || inputstr.length == 0 || (inputstr.length != 15 && inputstr.length != 18)) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!((temp>="0" && temp<="9") || temp == "x" || temp == "X"))
{
isvalidide=false;
break;
}
}
return isvalidide;
}

function isvalidname(inputs) //校验账号2~15位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidname = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length > 15 || inputstr.length < 2) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidname=false;
break;
}
}
return isvalidname;
}

function isvalidphoto(inputs) //校验照片扩展名
{
var i,temp;
var isvalidphoto = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0) return true; //没有相片也允许的
temp=inputstr.substring(inputstr.lastIndexOf(".")+1);

temp = temp.toLowerCase();
if(!(temp == "bmp" || temp == "jpg" || temp == "gif"))
{
isvalidphoto=false;
}
return isvalidphoto;
}

function isvalidzgh(inputs) //校验职工号8位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidzgh = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length != 8) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidzgh=false;
break;
}
}
return isvalidzgh;
}

function isvalidxh(inputs) //校验学号7位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidxh = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length != 7) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidxh=false;
break;
}
}
return isvalidxh;
}

function isvalidkcid(inputs) //校验课程编号5位(即只能是数字组成的串)
{
var i,temp;
var isvalidkcid = true;
inputstr=trim(inputs);
if(inputstr.length==null||inputstr.length==0||inputstr.length!=5) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!(temp>="0" && temp<="9"))
{
isvalidkcid=false;
break;
}
}
return isvalidkcid;
}

function isvalidnamee(inputs) //校验账号4~20位(即只能是英文字母和数字组成的串)
{
var i,temp;
var isvalidname = true;
inputstr=trim(inputs);
if(inputstr.length==null || inputstr.length==0 || inputstr.length > 20 || inputstr.length < 4) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1);

if(!((temp>= "0" && temp <= "9") || (temp >= "a" && temp<= "z") || (temp >= "A" && temp <= "Z")))
{
isvalidname=false;
break;
}
}
return isvalidname;
}

 

function login()
{
form1.UNAME.value = trim(form1.UNAME.value);
form1.PWD.value = trim(form1.PWD.value);
form1.PWD2.value = trim(form1.PWD2.value);
form1.EMAIL.value = trim(form1.EMAIL.value);
form1.NC.value = trim(form1.NC.value);
if(!isvalidname(form1.UNAME.value))
{
alert("请您注意:用户名必须为『2~15位英文或数字』!");
form1.UNAME.focus();
return false;
}
else if(!isvalidname(form1.PWD.value))
{
alert("请您注意:密码必须为『2~15位英文或数字』!");
form1.PWD.focus();
return false;
}
else if(!isvalidname(form1.PWD2.value))
{
alert("请您注意:密码确认也必须为『2~15位英文或数字』!");
form1.PWD2.focus();
return false;
}
else if(form1.PWD.value != form1.PWD2.value)
{
alert("两次密码不一致!");
form1.PWD.focus();
return false;
}
else if(form1.EMAIL.value == "" || form1.EMAIL.value.length > 100)
{
alert("请输入邮件!");
form1.EMAIL.focus();
return false;
}
else if(form1.NC.value == "" || form1.NC.value.length > 15)
{
alert("请输入昵称!");
form1.NC.focus();
return false;
}
else if(window.confirm("您确信提交!"))
return true;
else
return false;
}

function regedit()
{
var litop = (screen.height - 162)/2;
var lileft = (screen.width - 360)/2;
window.open("/regedit.aspx", "reg", "titlebar=no,fullscreen=no,dependent=yes,height=162,width=360,top=" + litop + ",left=" + lileft + ", toolbar=no,menubar=no,scrollbars=no,resizable=no,channelmode=no,status=no,location=no,directories=no");
}


function checkid(iden,year,month,day){

if (iden.value.length==15) {


if ((iden.value.lastIndexOf(month.value+day.value))==8) {

return true;
}
return false;
}
if (iden.value.length==18) {


if ((iden.value.indexOf(year.value+month.value+day.value))==6) {

return true;
}
return false;
}

return false;
}


function isCharsInBag (s, bag)
{
var i;
for (i = 0; i < s.length; i++)
{
var c = s.charAt(i);
if (bag.indexOf(c) == -1) return false;
}
return true;
}
function isEmpty(s)
{
return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{
var whitespace = " /t/n/r";
var i;
for (i = 0; i < s.length; i++)
{
var c = s.charAt(i);
if (whitespace.indexOf(c) >= 0)
{
return true;
}
}
return false;
}
function isEmail (s,t)
{
if (isEmpty(s))
{
window.alert("输入的E-mail地址不能为空,请输入!");
mobj = eval(t);
mobj.focus();
mobj.select();
return false
}
if (isWhitespace(s))
{
window.alert("输入的E-mail地址中不能包含空格符,请重新输入!");
mobj = eval(t)
mobj.focus()
mobj.select()
return false;
}
var i = 1;
var len = s.length;

if (len > 50)
{
window.alert("email地址长度不能超过50位!");
mobj = eval(t)
mobj.focus()
mobj.select()
return false;
}

pos1 = s.indexOf("@");
pos2 = s.indexOf(".");
pos3 = s.lastIndexOf("@");
pos4 = s.lastIndexOf(".");
if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))
{
window.alert("请输入有效的E-mail地址!");
mobj = eval(t)
mobj.focus()
mobj.select()
return false;
}
else
{
if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)
|| ( pos1 != pos3 )
|| ( pos4 < pos3 ) )
{
window.alert("请输入有效的E-mail地址!");
mobj = eval(t)
mobj.focus()
mobj.select()
return false;
}
}

if ( !isCharsInBag( s, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@"))
{
window.alert("email地址中只能包含字符ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@/n" + "请重新输入" );
mobj = eval(t)
mobj.focus()
return false;
}
return true;
}
function isnumber(str){
var digits="1234567890";
var i=0;
var strlen=str.length;
while((i<strlen)){
var char=str.charAt(i);
if(digits.indexOf(char)==-1)return false;i++;
}
return true;
}
function isnumbercode(str){
var digits="1234567890-/";
var i=0;
var strlen=str.length;
while((i<strlen)){
var char=str.charAt(i);
if(digits.indexOf(char)==-1)return false;i++;
}
return true;
}

function checkForm(theform){
if (document.frm.companyname.value.length==0){
alert("单位名称不能为空。");
mobj = eval("document.frm.companyname");
mobj.focus()
mobj.select()
return false;
}

if (document.frm.address.value.length==0){
alert("单位地址不能为空");
mobj = eval("document.frm.address");
mobj.focus()
mobj.select()
return false;
}

if (document.frm.invest.value.length==0){
alert("投资额不能为空");
mobj = eval("document.frm.invest");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.codeornumber.value.length==0){
alert("法人代码证书号或营业执照编号不能为空");
mobj = eval("document.frm.codeornumber");
mobj.focus()
mobj.select()
return false;
}

if (document.frm.linkman.value.length==0){
alert("联系人不能为空");
mobj = eval("document.frm.linkman");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.linkmanjob.value.length==0){
alert("联系人职位不能为空");
mobj = eval("document.frm.linkmanjob");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.phone.value.length==0){
alert("电话不能为空");
mobj = eval("document.frm.phone");
mobj.focus()
mobj.select()
return false;
}

if (document.frm.email.value=='') {
window.alert ("请输入您的E-mail地址 !")
mobj = eval("document.frm.email");
mobj.focus()
mobj.select()
return false
}
if ( !isEmail(document.frm.email.value,document.frm.email) )
return false
if (document.frm.introduction.value.length==0){
alert("公司简介不能为空");
mobj = eval("document.frm.introduction");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.positionname.value.length==0){
alert("职位名称不能为空");
mobj = eval("document.frm.positionname");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.jobaddress.value.length==0){
alert("工作地点不能为空");
mobj = eval("document.frm.jobaddress");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.jobfunction.value.length==0){
alert("工作职责不能为空");
mobj = eval("document.frm.jobfunction");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.positionrequre.value.length==0){
alert("职位要求不能为空");
mobj = eval("document.frm.positionrequre");
mobj.focus()
mobj.select()
return false;
}
if (document.frm.salary.value.length==0){
alert("待遇不能为空");
mobj = eval("document.frm.salary");
mobj.focus()
mobj.select()
return false;
}
}



$(function () {
$("input[name='sub']").on("click", function () {
if (!isEmail($("input[name='email']").val())) {
$("span[name='email']").html("邮箱格式错误");
return false;
}
else {
$("span[name='email']").html("");
}
if (checkStrong($("input[name='password']").val()) < 3) {
$("span[name='password']").html("密码太过简单");
return false;
}
else {
$("span[name='password']").html("");
}
if (!isQQ($.trim($("input[name='qq']").val()))) {
$("span[name='qq']").html("请输入正确的QQ号码");
return false;
}
else {
$("span[name='qq']").html("");
}
if (!isPhone($.trim($("input[name='mnumber']").val()))) {
$("span[name='mnumber']").html("请输入正确的手机号码");
return false;
}
else {
$("span[name='mnumber']").html("");
}
return true;
});
});




$(function () {
$("#address").focus(function () { // 地址框获得鼠标焦点
var txt_value = $(this).val(); // 得到当前文本框的值
if (txt_value == this.defaultValue) {
$(this).val(""); // 如果符合条件,则清空文本框内容
}
});
$("#address").blur(function () { // 地址框失去鼠标焦点
var txt_value = $(this).val(); // 得到当前文本框的值
if (txt_value == "") {
$(this).val(this.defaultValue); // 如果符合条件,则设置内容
}
})

$("#password").focus(function () {
var txt_value = $(this).val();
if (txt_value == this.defaultValue) {
$(this).val("");
}
});
$("#password").blur(function () {
var txt_value = $(this).val();
if (txt_value == "") {
$(this).val(this.defaultValue);
}
})
});




// var ip="10.100.20.168"
// ip=ip.split(".")
// alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
// 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。


// 匹配中文字符的正则表达式: [/u4e00-/u9fa5]
// 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

// 匹配双字节字符(包括汉字在内):[^/x00-/xff]
// 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

// 匹配空白行的正则表达式:/n/s*/r
// 评注:可以用来删除空白行

// 匹配HTML标记的正则表达式:<(/S*?)[^>]*>.*?<//1>|<.*? />
// 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

// 匹配首尾空白字符的正则表达式:^/s*|/s*$
/// 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

// 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
// 评注:表单验证时很实用
//
// 匹配网址URL的正则表达式:[a-zA-z]+://[^/s]*
//评注:网上流传的版本功能很有限,上面这个基本可以满足需求

//匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
//评注:表单验证时很实用

// 匹配国内电话号码:/d{3}-/d{8}|/d{4}-/d{7}
// 评注:匹配形式如 0511-4405222 或 021-87888822
//
// 匹配腾讯QQ号:[1-9][0-9]{4,}
// 评注:腾讯QQ号从10000开始

// 匹配中国邮政编码:[1-9]/d{5}(?!/d)
// 评注:中国邮政编码为6位数字

// 匹配身份证:/d{15}|/d{18}
// 评注:中国的身份证为15位或18位

// 匹配ip地址:/d+/./d+/./d+/./d+
// 评注:提取ip地址时有用

// 匹配特定数字:
// ^[1-9]/d*$ //匹配正整数
// ^-[1-9]/d*$ //匹配负整数
// ^-?[1-9]/d*$ //匹配整数
// ^[1-9]/d*|0$ //匹配非负整数(正整数 + 0)
// ^-[1-9]/d*|0$ //匹配非正整数(负整数 + 0)
// ^[1-9]/d*/./d*|0/./d*[1-9]/d*$ //匹配正浮点数
// ^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$ //匹配负浮点数
// ^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$ //匹配浮点数
// ^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$ //匹配非负浮点数(正浮点数 + 0)
// ^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$ //匹配非正浮点数(负浮点数 + 0)
//评注:处理大量数据时有用,具体应用时注意修正

// 匹配特定字符串:
// ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
// ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
// ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
// ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
// ^/w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
// 评注:最基本也是最常用的一些表达式

// 匹配中文字符的正则表达式: [/u4e00-/u9fa5]

// 匹配双字节字符(包括汉字在内):[^/x00-/xff]

// 匹配空行的正则表达式:/n[/s| ]*/r
//
// 匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/
//
// 匹配首尾空格的正则表达式:(^/s*)|(/s*$)

// 匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

// 匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?


// ^/d+$ //匹配非负整数(正整数 + 0)
// ^[0-9]*[1-9][0-9]*$ //匹配正整数
// ^((-/d+)|(0+))$ //匹配非正整数(负整数 + 0)
// ^-[0-9]*[1-9][0-9]*$ //匹配负整数
// ^-?/d+$ //匹配整数
// ^/d+(/./d+)?$ //匹配非负浮点数(正浮点数 + 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+)?)|(0+(/.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+)?$ //匹配浮点数
// ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
// ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
/// ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
// ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
// ^/w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
// ^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$

 

// "^/d+$" //非负整数(正整数 + 0)
// "^[0-9]*[1-9][0-9]*$" //正整数
// "^((-/d+)|(0+))$" //非正整数(负整数 + 0)
// "^-[0-9]*[1-9][0-9]*$" //负整数
// "^-?/d+$" //整数
// "^/d+(/./d+)?$" //非负浮点数(正浮点数 + 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+)?)|(0+(/.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+)?$" //浮点数
// "^[A-Za-z]+$" //由26个英文字母组成的字符串
// "^[A-Z]+$" //由26个英文字母的大写组成的字符串
// "^[a-z]+$" //由26个英文字母的小写组成的字符串
// "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
// "^/w+$" //由数字、26个英文字母或者下划线组成的字符串
// "^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$" //email地址
// "^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$" //url
// /^13/d{9}$/gi手机号正则表达式
// public static bool IsValidMobileNo(string MobileNo)
// {
// const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)/d{8}$";
// return Regex.IsMatch(MobileNo, regPattern);
// }
///正则表达式--验证手机号码:13[0-9]{9}
// 实现手机号前带86或是+86的情况:^((/+86)|(86))?(13)/d{9}$
// 电话号码与手机号码同时验证:(^(/d{3,4}-)?/d{7,8})$|(13[0-9]{9})
// 提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(/w|//|//|/.)+('|"| *|>)?
// 提取信息中的邮件地址:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
// 提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(/w|//|//|/.)+('|"| *|>)?
// 提取信息中的IP地址:(/d+)/.(/d+)/.(/d+)/.(/d+)
/// 提取信息中的中国手机号码:(86)*0*13/d{9}
// 提取信息中的中国固定电话号码:(/(/d{3,4}/)|/d{3,4}-|/s)?/d{8}
// 提取信息中的中国电话号码(包括移动和固定电话):(/(/d{3,4}/)|/d{3,4}-|/s)?/d{7,14}
// 提取信息中的中国邮政编码:[1-9]{1}(/d+){5}
/// 提取信息中的中国身份证号码:/d{18}|/d{15}
// 提取信息中的整数:/d+
// 提取信息中的浮点数(即小数):(-?/d*)/.?/d+
// 提取信息中的任何数字 :(-?/d*)(/./d+)?
// 提取信息中的中文字符串:[/u4e00-/u9fa5]*
// 提取信息中的双字节字符串 (汉字):[^/x00-/xff]


/*
1.文本框只能输入数字代码(小数点也不能输入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" placeholder="文本框只能输入数字代码(小数点也不能输入)">
<br><br>
2.只能输入数字,能输小数点.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" >
<input name="txt1" onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}" >
<br><br>
3.数字和小数点方法二
<input type="text" t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">
<br><br>
4.只能输入字母和汉字
<input onkeyup="value=value.replace(/[\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength="10" name="Numbers">
<br><br>
5.只能输入英文字母和数字,不能输入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
<br><br>
6.只能输入数字和英文<font color="Red">chun</font>
<input onkeyup="value=value.replace(/[^\d|chun]/g,'')">
<br><br>
7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onkeypress="if((event.keyCode<48 || event.keyCode>57) &amp;&amp; event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
<br><br>
8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
<br><br>
输入中文:
<input type="text" onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')">
<br><br>
输入数字:
<input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')">
<br><br>
输入英文:
<input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'')">
<br><br>
三个合在一起
<input onkeyup="value=value.replace(/[^\w\u4E00-\u9FA5]/g, '')">
<br><br>
只输入数字和字母
:<input class="input" maxlength="12" size="15" name="username" id="username" onkeyup="value=value.replace(/[\W]/g,'')">
<br><br>
除了英文的标点符号以为 其他的人都可以中文,英文字母,数字,中文标点
<input type="text" onkeyup="this.value=this.value.replace(/^[^!@#$%^&amp;*()-=+]/g,'')">
*/
});

posted @ 2018-07-11 09:52  LD_Joy  阅读(444)  评论(0编辑  收藏  举报