最全js表單驗證

/*****************************************************************
表單校驗工具類 (linjq)
*****************************************************************/

/**
* 判斷整數num是否等于0
*
* @param num
* @return
* @author jiqinlin
*/
function isIntEqZero(num){
return num==0;
}

/**
* 判斷整數num是否大于0
*
* @param num
* @return
* @author jiqinlin
*/
function isIntGtZero(num){
return num>0;
}

/**
* 判斷整數num是否大于或等于0
*
* @param num
* @return
* @author jiqinlin
*/
function isIntGteZero(num){
return num>=0;
}

/**
* 判斷浮點數num是否等于0
*
* @param num 浮點數
* @return
* @author jiqinlin
*/
function isFloatEqZero(num){
return num==0;
}

/**
* 判斷浮點數num是否大于0
*
* @param num 浮點數
* @return
* @author jiqinlin
*/
function isFloatGtZero(num){
return num>0;
}

/**
* 判斷浮點數num是否大于或等于0
*
* @param num 浮點數
* @return
* @author jiqinlin
*/
function isFloatGteZero(num){
return num>=0;
}

/**
* 匹配Email地址
*/
function isEmail(str){
if(str==null||str=="") return false;
var result=str.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);
if(result==null)return false;
return true;
}

/**
* 判斷數值類型,包括整數和浮點數
*/
function isNumber(str){
if(isDouble(str) || isInteger(str)) return true;
return false;
}

/**
* 只能輸入數字[0-9]
*/
function isDigits(str){
if(str==null||str=="") return false;
var result=str.match(/^\d+$/);
if(result==null)return false;
return true;
}

/**
* 匹配money
*/
function isMoney(str){
if(str==null||str=="") return false;
var result=str.match(/^(([1-9]\d*)|(([0-9]{1}|[1-9]+)\.[0-9]{1,2}))$/);
if(result==null)return false;
return true;
}

/**
* 匹配phone
*/
function isPhone(str){
if(str==null||str=="") return false;
var result=str.match(/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/);
if(result==null)return false;
return true;
}

/**
* 匹配mobile
*/
function isMobile(str){
if(str==null||str=="") return false;
var result=str.match(/^((\(\d{2,3}\))|(\d{3}\-))?((13\d{9})|(15\d{9})|(18\d{9}))$/);
if(result==null)return false;
return true;
}

/**
* 聯系電話(手機/電話皆可)驗證
*/
function isTel(String text){
if(isMobile(text)||isPhone(text)) return true;
return false;
}

/**
* 匹配qq
*/
function isQq(str){
if(str==null||str=="") return false;
var result=str.match(/^[1-9]\d{4,12}$/);
if(result==null)return false;
return true;
}

/**
* 匹配english
*/
function isEnglish(str){
if(str==null||str=="") return false;
var result=str.match(/^[A-Za-z]+$/);
if(result==null)return false;
return true;
}

/**
* 匹配integer
*/
function isInteger(str){
if(str==null||str=="") return false;
var result=str.match(/^[-\+]?\d+$/);
if(result==null)return false;
return true;
}

/**
* 匹配double或float
*/
function isDouble(str){
if(str==null||str=="") return false;
var result=str.match(/^[-\+]?\d+(\.\d+)?$/);
if(result==null)return false;
return true;
}


/**
* 匹配郵政編碼
*/
function isZipCode(str){
if(str==null||str=="") return false;
var result=str.match(/^[0-9]{6}$/);
if(result==null)return false;
return true;
}

/**
* 匹配URL
*/
function isUrl(str){
if(str==null||str=="") return false;
var result=str.match(/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*$/);
if(result==null)return false;
return true;
}

/**
* 匹配密碼,以字母開頭,長度在6-12之間,只能包含字符、數字和下劃線。
*/
function isPwd(str){
if(str==null||str=="") return false;
var result=str.match(/^[a-zA-Z]\\w{6,12}$/);
if(result==null)return false;
return true;
}

/**
* 判斷是否為合法字符(a-zA-Z0-9-_)
*/
function isRightfulString(str){
if(str==null||str=="") return false;
var result=str.match(/^[A-Za-z0-9_-]+$/);
if(result==null)return false;
return true;
}

/**
* 匹配english
*/
function isEnglish(str){
if(str==null||str=="") return false;
var result=str.match(/^[A-Za-z]+$/);
if(result==null)return false;
return true;
}

/**
* 匹配身份證號碼
*/
function isIdCardNo(num){
  //  if (isNaN(num)) {alert("輸入的不是數字!"); return false;}
   var len = num.length, re;
   if (len == 15)
   re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/);
   else if (len == 18)
   re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/);
   else {alert("輸入的數字位數不對。"); return false;}
   var a = num.match(re);
   if (a != null)
   {
   if (len==15)
   {
   var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
   var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
   }
   else
   {
   var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
   var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
   }
   if (!B) {alert("輸入的身份證號 "+ a[0] +" 里出生日期不對。"); return false;}
   }
   if(!re.test(num)){alert("身份證最后一位只能是數字和字母。");return false;}
  
   return true;
}

/**
* 匹配漢字
*/
function isChinese(str){
if(str==null||str=="") return false;
var result=str.match(/^[\u4e00-\u9fa5]+$/);
if(result==null)return false;
return true;
}

/**
* 匹配中文(包括漢字和字符)
*/
function isChineseChar(str){
if(str==null||str=="") return false;
var result=str.match(/^[\u0391-\uFFE5]+$/);
if(result==null)return false;
return true;
}

/**
* 字符驗證,只能包含中文、英文、數字、下劃線等字符。
*/
function stringCheck(str){
if(str==null||str=="") return false;
var result=str.match(/^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/);
if(result==null)return false;
return true;
}

/**
* 過濾中英文特殊字符,除英文"-_"字符外
*/
function stringFilter(str){
var pattern = new RegExp("[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]");
var rs = "";
for (var i = 0; i < str.length; i++) {
rs = rs + str.substr(i, 1).replace(pattern, '');
}
return rs;
}

/**
* 判斷是否包含中英文特殊字符,除英文"-_"字符外
*/
function isContainsSpecialChar(str){
if(str==null||str=="") return false;
var reg = RegExp(/[(\ )(\`)(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\+)(\=)(\|)(\{)(\})(\')(\:)(\;)(\')(',)(\[)(\])(\.)(\<)(\>)(\/)(\?)(\~)(\!)(\@)(\#)(\¥)(\%)(\…)(\&)(\*)(\()(\))(\—)(\+)(\|)(\{)(\})(\【)(\】)(\‘)(\;)(\:)(\”)(\“)(\’)(\。)(\,)(\、)(\?)]+/);
return reg.test(str);
}

?

?

來自:http://www.cnblogs.com/linjiqin/p/3429919.html

轉載于:https://www.cnblogs.com/lanliying/p/4900420.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287195.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287195.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287195.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《看聊天記錄都學不會C語言?太菜了吧》(19)鞏固開始,數字1、2、3、4能夠組成多少個 3 位數的不同的排列

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…

阿里云MaxCompute香港開服 將引入更多人工智能服務

9月18日&#xff0c;阿里云宣布大數據計算服務MaxCompute在香港正式開服。通過MaxCompute強大的計算能力&#xff0c;阿里云將為香港市場提供更多的人工智能產品&#xff0c;助力當地企業智能化升級。據了解&#xff0c;MaxCompute向用戶提供了完善的數據導入方案以及多種經典的…

【經典回放】多種語言系列數據結構算法:串(C版)

我們這里說的串、就是標準的C語言的串,這點,和我們教材中另行定義的串并不一致。我們這里強調僅僅是按C語言的標準處理串,是因為你會按C語言的標準構造串、而不是按其它的模式定義的。在我們的教材上,串相當與一個: struct ElemType {char *str; }; 構造的順序表、或者是…

Android之解決開啟熱點后跳轉頁面不穩定問題

1 問題 在Android8.0版本以后,開啟熱點我們采用的下面這種方式,但是跳轉頁面后熱點會斷開,手機不能互相傳文件了 權限說明:Android8.0需要位置權限和GPS權限,同時手機熱點還不能是開啟狀態。 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {try {mWifiManag…

linux如何獲取網卡計數信息,Linux下如何獲取網卡信息

有時候&#xff0c;寫程序的時候需要獲取計算機的網絡信息&#xff0c;比如IP地址、電腦名稱、DNS等信息。IP地址和電腦名稱是比較容易獲取到的&#xff0c;而要想獲取地址掩碼、DNS、網關等信息就有些麻煩了。在Windows下我們一般都是通過從注冊表讀取這些信息。在Linux怎么做…

Redis命令總結

1.用腳本批量刪除key redis-cli -h 127.0.0.1 keys "MAIN:GAME:GID:*" | xargs redis-cli -h 127.0.0.1 del轉載于:https://www.cnblogs.com/hiwen/p/4900968.html

可以只讀的 ServiceCollection

可以只讀的 ServiceCollectionIntro在 .NET 7 Preview 4 中&#xff0c;ServiceCollection 可以聲明為只讀了&#xff0c;這使得我們可以有效避免在構建了 ServiceProvider 之后再新增服務&#xff0c;導致服務注冊失敗。Sample在新的版本中&#xff0c;ServiceCollection 新增…

阿里云與中國聯通首個公共云平臺上線

11月8日&#xff0c;阿里云與中國聯通關于公共云合作的首個項目&#xff1a;浙江聯通“沃云Powered by Alibaba cloud” 平臺&#xff08;cloud.10010zj.com.cn&#xff09;正式發布上線。該平臺將以沃云品牌為客戶提供“阿里云聯通”服務&#xff0c;結合阿里云技術及浙江聯通…

IBM X System ServerGuide 8.41 服務器 系統安裝 引導盤

IBM X System ServerGuide 8.41 支持操作系統: 32位: Microsoft Windows 2003/2003 R2 (Enterprise, Standard, Web and DataCenter UV) Microsoft Small Business Server 2003/2003 R2 (Standard/Premium Edition) Microsoft Windows 2008 (Enterprise, Standard, Web and Dat…

Matlab R2018b簡體中文版完整安裝圖文教程(附安裝包下載)

目 錄 一、安裝過程 二、下載地址 matlab R2018b安裝包如下所示,包括主程序和補丁文件兩部分。 一、安裝過程 雙擊安裝包中的setup.exe。 選擇使用文件安裝MIYAO,點擊下一步。

Android之解決Android10.0通過熱點名字和密碼連接指定熱點網絡不能通信問題(2種解決辦法)

1 問題 Android10.0設備通過熱點名字和密碼連接另外一臺設置指定熱點,但是他們之間依然不能通信,網絡不可達。 Android10.0設備通過熱點名字和密碼連接另外一臺設置指定熱點,我用的是官方API,可以參考我的這篇博客 Android之通過用戶名和密碼連接指定wifi熱點(兼容Android…

《看聊天記錄都學不會C語言?太菜了吧》(20)(必懂!題解)我能知道2000年后的這個月一共有幾天

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…

linux nginx線程池,nginx使用線程池提升9倍性能

眾所周知nginx使用異步&#xff0c;事件驅動方法處理連接。這意味著nginx使用一個worker進程處理多個連接和請求&#xff0c;而不是每一個請求有一個專門的進程或著線程處理(像傳統架構的服務器那樣&#xff0c;例如apache)。為了實現這個目的&#xff0c;nginx使用非阻塞模式的…

android 開源項目

https://github.com/Trinea/android-open-project http://a.codekk.com/轉載于:https://www.cnblogs.com/syjhsgcc/p/4902885.html

【空間數據庫】ArcSDE 10.7+SQLEXPRESS+ArcServer 10.7.ecp企業級數據庫環境搭建

作者一直使用的是ArcGIS10.6做空間數據庫相關工作,可以參照文章《ArcGIS 10.6 Database_Server_Desktop安裝、連接數據庫服務、創建企業級數據庫》。今天我們演示安裝ArcGIS10.7自帶的數據庫服務(SQL Server 2014 Express版本)、連接數據庫服務和創建數據庫。 一、軟件準備 …

Android之解決androidx.appcompat.widget.Toolbar去掉左邊距

1 問題 androidx.appcompat.widget.Toolbar默認左邊有間距 2 解決辦法 在Toolbar下面添加如下熟悉 app:contentInsetLeft"0dp"app:contentInsetStart"0dp"app:contentInsetEnd"0dp"app:maxButtonHeight"20dp"app:titleMargin"0…

C# 配置日志記錄

在 .NET Core 中&#xff0c;可以給配置文件使用提供程序&#xff0c;例如從 JSON 或 XML文件、環境變量或命令行參數中讀取配置。只需要從 NuGet 包 Microsoft.ExtensionsConfiguration 中創建一個ConfigurationBuilder&#xff0c;并向此構建器添加提供程序。要添加 JSON 提供…

使用“using” 的 “Cursor”

很多時候&#xff0c;我們會寫下面的這段代碼&#xff1a; private void button1_Click(object sender, EventArgs e) {Cursor cursor Cursor.Current;this.Cursor Cursors.WaitCursor;LongTimeMethod();this.Cursor cursor; }private void LongTimeMethod() {for (int i 0…

《看聊天記錄都學不會C語言?太菜了吧》(21)(必懂!題解)在現實生活中,打擂臺比賽爭名次竟用的是冒泡排序?

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…

ArcGIS 10.7如何獲取矢量多邊形所有折點的坐標(平面坐標和經緯度坐標)?

Descriptions:As shown in the figure below is a surface pattern spot, how to obtain the coordinates of each vertex (plane coordinates and latitude and longitude coordinates)? The results we want are as follows: Via data source,we get the information that…