一般的なPHP正規表現チェック
8451 ワード
一般的な正規表現チェック
一、QQ番号、携帯番号、Email、数字かどうか、前後のスペースを外すかどうか、中国語、郵便番号、身分証明書、URL、日付フォーマット、IPがあるかどうか
二、数字を検証する式
三、文字を検証する式
四、特殊需要表現
一、QQ番号、携帯番号、Email、数字かどうか、前後のスペースを外すかどうか、中国語、郵便番号、身分証明書、URL、日付フォーマット、IPがあるかどうか
var myRegExp = {
// QQ
isQQ: function(str) {
// 1 0 ^[1-9]
// 2 [5, 11] \d{4, 9}
var reg = /^[1-9][0-9]{4,9}$/gim;
if (reg.test(str)) {
console.log('QQ ');
return true;
} else {
console.log(' QQ ');
return false;
}
},
//
isPhone: function(str) {
var reg = /^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57]|17[678])[0-9]{8}$/;
if (reg.test(str)) {
console.log(' ');
return true;
} else {
console.log(' ');
return false;
}
},
// Email
isEmail: function(str) {
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
// var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
if (reg.test(str)) {
console.log('Email ');
return true;
} else {
console.log(' Email');
return false;
}
},
//
isNumber: function(str) {
var reg = /^\d+$/;
if (reg.test(str)) {
console.log(str + ' ');
return true;
} else {
console.log(str + ' ');
return false;
}
},
//
trim: function(str) {
var reg = /^\s+|\s+$/g;
return str.replace(reg, '');
},
//
isChinese: function(str) {
var reg = /[\u4e00-\u9fa5]/gm;
if (reg.test(str)) {
console.log(str + ' ');
return true;
} else {
console.log(str + ' ');
return false;
}
},
//
isPostcode: function(str) {
// 0, 5 [1-9]\d{5}
var reg = /^[1-9]\d{5}$/g;
// var reg = /^[1-9]\d{5}(?!\d)$/;
if (reg.test(str)) {
console.log(str + ' ');
return true;
} else {
console.log(str + ' ');
return false;
}
},
//
isIDcard: function(str) {
var reg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
if (reg.test(str)) {
console.log(str + ' ');
return true;
} else {
console.log(str + ' ');
return false;
}
},
// URL
isURL: function(str) {
var reg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i;
if (reg.test(str)) {
console.log(str + ' URL');
return true;
} else {
console.log(str + ' URL');
return false;
}
},
// yyyy-mm-dd
isDate: function(str) {
var reg = /^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/;
if (reg.test(str)) {
console.log(str + ' ');
return true;
} else {
console.log(str + ' ,yyyy-mm-dd');
return false;
}
},
// IP
isIP: function(str) {
// 1.1.1.1 [0 , 255]
// 0
// 0
//
// IP: 58.50.120.18
var reg = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/gi;
if (reg.test(str)) {
console.log(str + ' IP ');
return true;
} else {
console.log(str + ' IP ');
return false;
}
}
}
//
// console.log(myRegExp.isQQ('80583600'));
// console.log(myRegExp.isPhone('17607160722'));
// console.log(myRegExp.isEmail('[email protected]'));
// console.log(myRegExp.isNumber('100a'));
// console.log(myRegExp.trim(' 100 '));
// console.log(myRegExp.isChinese('baixiaoming'));
// console.log(myRegExp.isChinese(' '));
// console.log(myRegExp.isPostcode('412345'));
// console.log(myRegExp.isIDcard('42091119940927001X'));
// console.log(myRegExp.isURL('https://www.baidu.com/'));
// console.log(myRegExp.isDate('2017-4-4'));
// console.log(myRegExp.isIP('1.0.0.0'));
二、数字を検証する式
:^[0-9]*$
n :^\d{n}$
n :^\d{n,}$
m-n :^\d{m,n}$
:^(0|[1-9][0-9]*)$
:^([1-9][0-9]*)+(.[0-9]{1,2})?$
1-2 :^(\-)?\d+(\.\d{1,2})?$
、 、 :^(\-|\+)?\d+(\.\d+)?$
:^[0-9]+(.[0-9]{2})?$
1~3 :^[0-9]+(.[0-9]{1,3})?$
:^[1-9]\d*$ ^([1-9][0-9]*){1,3}$ ^\+?[1-9][0-9]*$
:^\-[1-9][]0-9"*$ ^-[1-9]\d*$
:^\d+$ ^[1-9]\d*|0$
:^-[1-9]\d*|0$ ^((-\d+)|(0+))$
:^\d+(\.\d+)?$ ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
:^(-?\d+)(\.\d+)?$ ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
三、文字を検証する式
:^[\u4e00-\u9fa5]{0,}$
:^[A-Za-z0-9]+$ ^[A-Za-z0-9]{4,40}$
3-20 :^.{3,20}$
26 :^[A-Za-z]+$
26 :^[A-Z]+$
26 :^[a-z]+$
26 :^[A-Za-z0-9]+$
、26 :^\w+$ ^\w{3,20}$
、 、 :^[\u4E00-\u9FA5A-Za-z0-9_]+$
^%&',;=?$\" :[^%&',;=?$\x22]+
~ :[^~\x22]+
四、特殊需要表現
Email :^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL:[a-zA-z]+://[^\s]* ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX" "XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
(15 、18 ):^\d{15}|\d{18}$
( 、 x ):^([0-9]){7,18}(x|X)?$ ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
( , 5-16 , ):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
( , 6~18 , 、 ):^[a-zA-Z]\w{5,17}$
( , , 8-10 ):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
:^\d{4}-\d{1,2}-\d{1,2}
12 (01~09 1~12):^(0?[1-9]|1[0-2])$
31 (01~09 1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
xml :^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
:[\u4e00-\u9fa5]
:[^\x00-\xff] ( , ( 2,ASCII 1))
:
\s*\r ( )
HTML :]*>.*?\1>|<./> ( , , )
:^\s*|\s*$ (^\s*)|(\s*$) ( ( 、 、 ), )
QQ :[1-9][0-9]{4,} ( QQ 10000 )
:[1-9]\d{5}(?!\d) ( 6 )
IP :\d+\.\d+\.\d+\.\d+ ( IP )
IP :((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
:
1. :"10000.00" "10,000.00", " " "10000" "10,000":^[1-9][0-9]*$
2. 0 , , "0" , :^(0|[1-9][0-9]*)$
3. 0 0 . :^(0|-?[1-9][0-9]*)$
4. 0 0 . 0 . , . :^[0-9]+(.[0-9]+)?$
5. , 1 , "10." , "10" "10.2" :^[0-9]+(.[0-9]{2})?$
6. , , :^[0-9]+(.[0-9]{1,2})?$
7. . , :^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
8.1 3 , +3 , , :^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
: , "+" "*" ( , ?) , ,