1. 程式人生 > >N個必備的實用jQuery代碼段

N個必備的實用jQuery代碼段

有時 bar 中文標點 wid val conf cto 按鈕 false

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,‘‘)">
*/
});

N個必備的實用jQuery代碼段