1.手機(jī)號(hào)碼
var r = /^1[3,4,5,7,8]\d{9}$/
r.test(value);
2.郵件
var r =
/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
r.test(value);
/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(value)
3.是否全部為漢字
var r = /^[\u4E00-\u9FA5]+$/i;
r.test(value);
4.密碼設(shè)置(6-20字母、數(shù)字、_);
var r = /^[a-zA-Z0-9_]{6,20}$/;
r.test(value);
/^\w+/ //匹配單詞字符
/^\W+/ 元字符用于查找非單詞字符。單詞字符包括:a-z、A-Z、0-9,以及下劃線。
^[A-Za-z]+$ //26個(gè)字母組成
5.車(chē)輛發(fā)動(dòng)機(jī)號(hào)碼
var r = /^[0-9A-Za-z\-\-\u4e00-\u9fa5]{1,20}$/;;
6.浮點(diǎn)數(shù)
/^(-?\d+)(\.\d+)?$/ 正浮點(diǎn)
/^\d+(\.\d+)?$/
7.整數(shù)
/^-?\d+$/.test(value);
/^\d+$/.test(value);//非負(fù)整數(shù)
^\d{m,n}$ //m-n位的數(shù)字
8.基本的網(wǎng)址校驗(yàn)
/^(http(s)?:\/\/){1}/
/^(http(s)?:\/\/)?(www\.)?[\w-]+\.\w{2,4}(\/)?$/
9.由字母、數(shù)字、漢字組成1-20位
/^[a-zA-Z0-9\u4e00-\u9fa5]{1,20}$
10.去除所有空格
trimAll: function(str) {
if (!str) {
return str;
}
str = str.toString(); //確保字符串
return str.replace(/\s+/g, '');
},
11. 去除首尾空格
trim: function(str) {
if (!str) {
return str;
}
str = str.toString(); //確保字符串
return str.replace(/(^\s*)|(\s*$)/g, '');
},
12. 字符數(shù)量
validateLength: function(str){
var length = 0;
for (var i=0; i<str.length; i++) {
var c = str.charCodeAt(i); //獲取Unicode編碼
//單字節(jié)加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
length++;
}
else {
length+=2;
}
}
return length; // 返回字符個(gè)數(shù)
}
13. 是否含有中文字符
hasChinese(s) {
let r = /[\u4E00-\u9FA5]/;
return r.test(s);
}
14. 是否為空對(duì)象
nullObject(obj) {
let j = false;
obj = typeof obj == 'object' ? obj : JSON.parse(obj);
for (let item in obj) {
return !j
}
return j;
}
//true 表示不為空對(duì)象
15. 銀行卡
isValidBankCardNumber(cardNumber) {
let r = /^[0-9]{16,21}$/;
return r.test(trimAll(cardNumber));
}
16.驗(yàn)證車(chē)牌號(hào)
isValidPlate: function(plateNumber) {
var plate = plateNumber.toUpperCase();
var r = RegExp("^[寧冀鄂吉云皖蒙甘渝津粵滬京港新澳貴遼瓊桂晉蘇黑青陜藏浙湘川贛豫魯臺(tái)閩][A-HJ-NP-Z][A-HJ-NP-Z0-9]{5}$");
return r.test(trimAll(plate));
}
16. 發(fā)動(dòng)機(jī)號(hào)碼
/**
* 驗(yàn)證發(fā)動(dòng)機(jī)號(hào)
* @param engineNumber
* @returns {boolean}
*/
isValidEngineNumber: function(engineNumber) {
var r = /^[0-9A-Za-z\-\-\u4e00-\u9fa5]{1,20}$/;
return r.test(trimAll(engineNumber));
},
17.身份證號(hào)碼
/**
* 驗(yàn)證身份證號(hào)碼
* @param code
* @returns {boolean}
*/
isValidID: function(code){
var city = {11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍江 ",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北 ",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏 ",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺(tái)灣",81:"香港",82:"澳門(mén)",91:"國(guó)外 "};
var pass = true;
code = code.replace("x", "X");
code = trimAll(code);
if(!code || !/^\d{6}(18|19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)){
pass = false;
}
else if(!city[code.substr(0, 2)]) {
pass = false;
}
else{
//18位身份證需要驗(yàn)證最后一位校驗(yàn)位
if (code.length == 18) {
code = code.split('');
//∑(ai×Wi)(mod 11)
//加權(quán)因子
var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
//校驗(yàn)位
var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
var sum = 0;
var ai = 0;
var wi = 0;
for (var i = 0; i < 17; i++) {
ai = code[i];
wi = factor[i];
sum += ai * wi;
}
var last = parity[sum % 11];
if (parity[sum % 11] != code[17]) {
pass = false;
}
}
}
return pass;
}
18. 格式為xx.xx的數(shù)字
validate(num){
num = parseFloat(num); //去掉首尾不必要的0
var r = /^(\d{1,2})(\.(\d{0,2})?)?$/ ;
return r.test(num);
}
19. 只包含數(shù)字和字母
var r =/^[A-Za-z0-9]+$/
var r = /^[a-zA-Z0-9]{0,30}$/; 不能超過(guò)30位
Regex相關(guān)