Jquery常用正則驗證

常用校驗的正則表達式
var rulesConfig = {
/**
* str.replace(/^\s+|\s+$/g, '')
解析:
str:要替換的字符串
\s : 表示 space ,空格
+: 一個或多個
^: 開始,^\s,以空格開始
$: 結束,\s$,以空格結束
|:或者
/g:global, 全局
/i 執行對大小寫不敏感
/m 執行多行匹配
[abc]查找方括號之間的任何字符
[0-9]查找任何從0至9的數字
(x|y)查找任何以|分隔的選項
\d 查找數字
\s 查找空白字符
\b 匹配單詞邊界
\uxxxx 查找以十六進制數xxxx規定的Unicode字符
n+ 匹配任何包含至少一個n 的字符串
n* 匹配任何包含零個或多個n的字符串
n? 匹配任何包含零個或一個n的字符串
*/
email: {
validator: function(value){
return /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(value);
},
message: '郵箱格式不對'
},

pass: {
validator: function(value){
return /^[!@#$%^&*a-zA-Z0-9_.]{6,15}$/.test(value);
},
message: '密碼格式不正確'
},

space: {//空格開頭或者結尾匹配
validator: function(value){
return /^\s+|\s+$/.test(value);
},
message: '用戶名不能以空格開頭或者結尾'
},

idcard: { // 驗證身份證
validator: function(value) {
return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
},
message: '身份證號碼格式不正確'
},
minLength: {
validator: function(value, param) {
return value.length >= param[0];
},
message: '請輸入至少(2)個字符.'
},
length: {
validator: function(value, param) {
var len = $.trim(value).length;
return len >= param[0] && len <= param[1];
},
message: "輸入內容長度必須介于{0}和{1}之間."
},
phone: { // 驗證電話號碼
validator: function(value) {
return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
},
message: '格式不正確,請使用下面格式:020-88888888'
},
mobile: { // 驗證手機號碼
validator: function(value) {
return /^(13|15|18)\d{9}$/i.test(value);
},
message: '手機號碼格式不正確'
},
currency: { // 驗證貨幣
validator: function(value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message: '貨幣格式不正確'
},
decimal: {
validator: function(value, param) {
var regStr = "^\\d+(\\.\\d+)?$";
if(param)
regStr = "^\\+?(\\d*\\.\\d{" + param[0] + "})$";
var reg = new RegExp(regStr);
return reg.test(value);
},
message: '輸入的數據格式不正確'
},
intOrFloat: { // 驗證整數或小數
validator: function(value, param) {
var pattStr = "^\\d+(\\.\\d+)?$";
if(param) {
pattStr = "^\\d+(\\.\\d{0," + param[0] + "})?$";
}
return(new RegExp(pattStr)).test(value);
//如果有參數則驗證小數的保留位數,下面是原正則表達式
//return /^\d+(\.\d+)?$/i.test(value);
},
message: '請輸入數字,并確保格式正確'
},
integer: { // 驗證整數
validator: function(value, param) {
var pattern = /^[+]?[0-9]+\d*$/i;
if(param)
pattern = new RegExp("^[0-9]\d{" + param[0] + "}$");
return pattern.test(value);
},
message: '請輸入整數'
},
range: {
validator: function(value, param) {
var v1 = parseFloat(param[0]),
v2 = parseFloat(value),
v3 = parseFloat(param[1]);
if(isNaN(v1) || isNaN(v2) || isNaN(v3)) {
return false;
}
return(v1 <= v2 && v2 <= v3);
},
message: '請輸入{0}到{1}之間的數字'
},
qq: { // 驗證QQ,從10000開始
validator: function(value) {
return /^[1-9]\d{4,9}$/i.test(value);
},
message: 'QQ號碼格式不正確'
},
age: { // 驗證年齡
validator: function(value) {
return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i.test(value);
},
message: '年齡必須是0到120之間的整數'
},
chinese: { // 驗證中文
validator: function(value, param) {

var pattern = new RegExp("^[\u4e00-\u9fa5]{" + param[0] + "," + param[1] + "}$");
return pattern.test(value);
//return /^[\Α-\¥]+$/i.test(value);
},
message: '請輸入中文'
},
english: { // 驗證英語
validator: function(value) {
return /^[A-Za-z]+$/i.test(value);
},
message: '請輸入英文'
},
unnormal: { // 驗證是否包含空格和非法字符
validator: function(value) {
return /.+/i.test(value);
},
message: '輸入值不能為空和包含其他非法字符'
},
username: { // 驗證用戶名
validator: function(value) {
return /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){5,19}$/i.test(value);
},
message: '用戶名不合法(字母開頭,允許6-16字節,允許字母數字下劃線)'
},
address: {
validator: function(value) {
var reg = /^[< >]+$/;
return !reg.test(value); //匹配是否含有特殊的字符
},
message: '只能輸入包括漢字、字母、數字、符號'
},
faxno: { // 驗證傳真
validator: function(value) {
// return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value);
return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
},
message: '傳真號碼不正確'
},
zip: { // 驗證郵政編碼
validator: function(value) {
return /^[1-9]\d{5}$/i.test(value);
},
message: '郵政編碼格式不正確'
},
ip: { // 驗證IP地址
validator: function(value) {
return /d+.d+.d+.d+/i.test(value);
},
message: 'IP地址格式不正確'
},
name: { // 驗證姓名,可以是中文或英文
validator: function(value) {
return /^[\Α-\¥]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
},
message: '請輸入姓名'
},
date: { // 驗證姓名,可以是中文或英文
validator: function(value) {
//格式yyyy-MM-dd或yyyy-M-d
return /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i.test(value);
},
message: '清輸入合適的日期格式'
},
msn: {
validator: function(value) {
return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
},
message: '請輸入有效的msn賬號(例:abc@hotnail(msn/live).com)'
},
equals: {
validator: function(value, param) {
if($("#" + param[0]).val() != "" && value != "") {
return $("#" + param[0]).val() == value;
} else {
return true;
}
},
message: '兩次輸入的密碼不一致!'
},
compareDate: {
validator: function(value, param) {
return dateCompare($(param[0]).datetimebox('getValue'), value); //注意easyui 時間控制獲取值的方式
},
message: '開始日期不能大于結束日期'
},
linkMan: {
validator: function(value, param) {
var pattern = /^[\u4e00-\u9fa5]{2,4}$|^[a-zA-Z]{2,20}$/gi;
return pattern.test(value);
},
message: "請輸入2-4個漢字或者20個字母"
},
phoneMobile: { //手機或者固話
validator: function(value, param) {
var pattern = /(^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$)|(^((\(\d{3}\))|(\d{3}\-))?(1[358]\d{9})$)/;
return pattern.test(value);
},
message: "請輸入固話或者手機號"
},
postCode: {
validator: function(value, param) {
//var pattern = /^[1-9]\d{5}$/;
var pattern = /^[0-9]\d{5}$/;
return pattern.test(value);
},
message: "請輸入郵編"
},
product: {
validator: function(value, param) {
var pattern = new RegExp("^([\u4e00-\u9fa5]|[,]|[,]|[“]|[”]|[\"]|[\"]){" + param[0] + "," + param[1] + "}$");
return pattern.test(value);
},
message: "請輸入主要產品"
},
companyCode: {
validator: function(value, param) {
var pattern = new RegExp("[a-zA-Z0-9]{8}-[a-zA-Z0-9]");
return pattern.test(value);
},
message: "請輸入組織機構代碼證"
},
flEmpty: {
validator: function(value, param) {
var reg = /^[\s ]|[ ]$/gi;
return !reg.yongshiyule178.com test(value);
//return !(/^\s+|\s+$/.test(value));
},
message: "首尾不能有空格"
},
timeDiff: { //時間范圍驗證
validator: function(value, param) {
//validType:'timeDiff[]'
if(param != undefined && param.length == 2) {
try {
var d1 = null,
curd = new Date(value.replace(/-/g, "/")),
d3 = null;
if(param[0] == 0) { //第一個參數=0 那么必須小于等于第二個參數
d3 = new Date(param[1].replace(/-/g, "/"));
rulesConfig.timeDiff.message = "您選擇的時間必須大于等于{0}。";
return(curd <= d3);
} else if(param[1] == 0) { //第二個參數=0 那么必須大于等于第一個參數
d1 = new Date(param[0].replace(/-/g, "/"));
rulesConfig.timeDiff.message = "您選擇的時間必須大于等于{0}。";
return(curd www.michenggw.com>= d1);
} else {
d1 = new Date(param[0].replace(/-/g, "/"));
d3 = new Date(param[1].replace(/-/g, "/"));
rulesConfig.timeDiff.message = "您選擇的時間必須在{0}和{1}之間。";
return(d1 <= curd <= d3);
}
} catch(e) {
rulesConfig.timeDiff.message = "您選擇的時間不正確。";
return false;

}

return false;
}
return true;

/* var d = new Date(value.replace(/-/g, "/"))
var d1 = null;
var d2 = null;
if (param[0] != undefined && param[www.dasheng178.com] != undefined) {//兩個都不為空的時候需要在時間之間
d1 = new Date(param[0].replace(/-/g, "/"));
d2 = new Date(param[1].replace(/-/g, "/"));
return (d1 < d1 < d2);
} else if (param[1] != undefined) {//第二個參數不為空,則需要時間小于參數
d2 = new Date(param[1].replace(/-/g, "/"));
return (d < d2);
} else if (param[0] != undefined) {//第一個參數不為空,則需要時間大于參數
d1 = new Date(param[www.gouyiflb.cn].replace(/-/g, "/"));
return (d > d1);
}
return true;*/
},
message: "時間范圍選擇有誤{0}{1}"
},
code: {
validator: function(value, param) {
var reg = new RegExp("<.*?script[^>]*?>.*?(<\/.*?script.*?>)*", "ig");
return !reg.test(value);
},
message: "您輸入了非法危險字符"
}
};

轉載于:https://www.cnblogs.com/qwangxiao/p/10201860.html

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

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

相關文章

svm參數說明

svm參數說明---------------------- 如果你要輸出類的概率&#xff0c;一定要有-b參數 svm-train training_set_file model_file svm-predict test_file model_fileoutput_file 自動腳本&#xff1a;Python easy.py train_data test_data 自動選擇最優參數&#xff0c;自動進行…

poj-3667(線段樹區間合并)

題目鏈接&#xff1a;傳送門 參考文章&#xff1a;傳送門 思路&#xff1a;線段樹區間合并問題&#xff0c;每次查詢到滿足線段樹的區間最左值&#xff0c;然后更新線段樹。 #include<iostream> #include<cstdio> #include<cstring> using namespace std; co…

面試題編程題11-python 生成隨機數

隨機整數&#xff1a; random.randint(a,b), [a,b] random.randrange(a,b,step) [a,b) 隨機實數 random.random()返回0 到1 之間的浮點數轉載于:https://www.cnblogs.com/feihujiushiwo/p/10922454.html

車牌識別之顏色選取

車牌定位是車牌識別中第一步&#xff0c;也是最重要的一步。 由于中國車牌種類多樣&#xff0c;顏色不一&#xff0c; 再加上車牌經常有污損&#xff0c;以及車牌周圍干擾因素太多&#xff0c;都成為了車牌定位的難點。 這里首先使用最簡單算法來描述車牌定位&#xff0c;以及他…

Python - 排序( 插入, 冒泡, 快速, 二分 )

插入排序 算法分析 兩次循環, 大循環對隊列中的每一個元素拿出來作為小循環的裁定對象 小循環對堆當前循環對象在有序隊列中尋找插入的位置 性能參數 空間復雜度  O(1) 時間復雜度  O(n^2) 詳細代碼解讀 import randomdef func(l):# 外層循環: 對應遍歷所有的無序數據for i…

[EmguCV|C#]使用CvInvoke自己繪製色彩直方圖-直方圖(Hitsogram)系列(4)

2014-02-0610325 0C# 檢舉文章 過年結束了&#xff0c;雖然還是學生所以其實還有兩個禮拜的假期&#xff0c;不過為了不讓自己發慌&#xff0c;趁著假期多利用充實自己&#xff0c;所以提早回到開工狀態&#xff0c;而這次總算要把一直說的自己動手繪製猜色直方圖文章寫出。 …

G.點我

鏈接&#xff1a;https://ac.nowcoder.com/acm/contest/903/G 題意&#xff1a; X腿與隊友到河北省來參加2019河北省大學生程序設計競賽&#xff0c;然而這場比賽的題目難度實在是太高了。比賽開始一個小時后&#xff0c;X腿仍然沒有做出一個題。這時候&#xff0c;X腿驚訝的發…

輪廓的查找、表達、繪制、特性及匹配(How to Use Contour? Find, Component, Construct, Features Match)

前言 輪廓是構成任何一個形狀的邊界或外形線。前面講了如何根據色彩及色彩的分布&#xff08;直方圖對比和模板匹配&#xff09;來進行匹配&#xff0c;現在我們來看看如何利用物體的輪廓。包括以下內容&#xff1a;輪廓的查找、表達方式、組織方式、繪制、特性、匹配。 查…

Android:IntentService的學習

在Android的四大組件中&#xff0c;Service排行老二&#xff0c;在Android中的主要作用是后臺服務&#xff0c;進行與界面無關的操作。由于Service運行在主線程&#xff0c;所以進行異步操作需要在子線進行。為此Android為我們提供了IntentService。 IntentService是一個抽象類…

智能商業大會構造信息化交流平臺

在快速發展的當今社會&#xff0c;所有事物都在日新月異地變化著&#xff0c;相較于過去的傳統商業的變化速度&#xff0c;現今基于數據的互聯網商業變化速度高出了一個量級&#xff0c;同時市場對于企業的應對速度也有了更高的要求&#xff0c;然而面對大體量的數據&#xff0…

itcast-ssh-crm實踐

分析 BaseDao 文件上傳 轉載于:https://www.cnblogs.com/hellowq/p/10209761.html

分類器大牛們

David Lowe&#xff1a;Sift算法的發明者&#xff0c;天才。 Rob Hess&#xff1a;sift的源碼OpenSift的作者&#xff0c;個人主頁上有openSift的下載鏈接&#xff0c;Opencv中sift的實現&#xff0c;也是參考這個。 Koen van de Sande&#xff1a;作者給出了sift,densesift,co…

go 成長路上的坑(1)

一、先來看一段代碼 package mainimport "fmt"type X struct{}func (x *X) test(){println("h1",x) } func main(){a : X{} a.test()(&X{}).test()(X{}).test() } 猜猜他的結果 二、揭曉答案 package mainimport "fmt"type X struct{}func (…

利用python腳本程序監控文件被修改

需求&#xff1a;利用python編寫監控程序&#xff0c;監控一個文件目錄&#xff0c;當目錄下的文件發生改變時&#xff0c;實現有修改就發報警郵件 郵件使用QQ郵箱&#xff0c;需要開啟smtp&#xff0c;使用手機發生短信&#xff0c;騰訊會給你發郵箱密碼。如下所示&#xff1a…

Oracle RAC

環境如下&#xff1a; Linux操作系統&#xff1a;Centos 6.5 64bit &#xff08;這個版本的redhat 6內核等OS在安裝grid最后執行root.sh時會出現crs-4124&#xff0c;是oracle11.2.0.1的bug&#xff09; VMware version&#xff1a;Workstation 8.0.3 build-703057 Oracle…

好程序員web前端分享MVVM框架Vue實現原理

好程序員web前端分享MVVM框架Vue實現原理&#xff0c;Vue.js是當下很火的一個JavaScript MVVM庫&#xff0c;它是以數據驅動和組件化的思想構建的。相比于Angular.js和react.js更加簡潔、更易于理解的API&#xff0c;使得我們能夠快速地上手并使用Vue.js。?1.什么是MVVM呢&…

HDU - 3516 Tree Construction

HDU - 3516 思路&#xff1a; 平行四邊形不等式優化dp &#xff1a;&#xff09; 代碼&#xff1a; #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc.h> using namespace std; #define y1 y11 #define fi first #define se…

各類總線傳輸速率

1. USB總線 USB1.1&#xff1a; -------低速模式(low speed)&#xff1a;1.5Mbps -------全速模式(full speed)&#xff1a; 12Mbps USB2.0&#xff1a;向下兼容。增加了高速模式&#xff0c;最大速率480Mbps。 -------高速模式(high speed)&#xff1a; 25~480Mbps US…

Activiti多人會簽例子

Activiti中提供了多實例任務&#xff08;for-each&#xff09;將多實例應到到UserTask中可以實現會簽功能。 Multi-instance (for each) Description A multi-instance activity is a way of defining repetition for a certain step in a business process. In programming …

Django 【認證系統】auth

本篇內容 介紹Django框架提供的auth 認證系統 方法&#xff1a; 方法名 備注 create_user 創建用戶 authenticate 登錄驗證 login 記錄登錄狀態 logout 退出用戶登錄 is_authenticated 判斷用戶是否登錄 login_required裝飾器 進行登錄判斷 引入模塊 from django.…