js常用校验规则2
1.1、校验是否为空(null/空串)
/*
- 校验是否为空(null/空串)
*/
var checkNull = function(str){
if(str == null || str == ""){
return false;
}
return true;
}
1.2、校验是否为纯数字
/*
- 校验是否为纯数字
- js的isNaN函数
*/
var checkNum = function(num){
if(isNaN(num)){
return false;
}
return true;
}
1.3、校验是否为纯数字(正则)
/*
- 校验是否为纯数字(正则)
/
var checkNum2 = function(num){
var re = /[1]+.?[0-9]$/; //判断字符串是否为数字 (判断正整数 /[2]+[0-9]]$/)
if (!re.test(num)){
return false;
}
return true;
}
1.4、检验手机号
/*
- 检验手机号
*/
var checkPhone = function(phone){
var reg = /^1[3|4|5|7|8][0-9]{9}$/; //验证规则,第一位是【1】开头,第二位有【3,4,5,7,8】,第三位及以后可以是【0-9】
// var reg = /^1[0-9]{10}$/;//不验证第二位,防止几年后新增号码段
if(!reg.test(phone)){
return false;
}
return true;
}
1.5、验证座机号
/*
- 验证座机号
*/
var checkTel = function(tel) {
var reg = /^(\d3,4|\d{3,4}-)?\d{7,8}$/;
if (!reg.test(tel)) {
return false;
}
return true;
}
1.6、校验ip
/*
- 校验ip
*/
var checkIp = function(ip){
var reSpaceCheck = /^(\d+).(\d+).(\d+).(\d+)$/;
if (reSpaceCheck.test(ip)){
ip.match(reSpaceCheck);
if (RegExp.$1 <= 255 && RegExp.$1 >= 0 && RegExp.$2 <= 255 && RegExp.$2 >=0
&&RegExp.$3 <= 255 && RegExp.$3 >= 0 && RegExp.$4 <= 255 && RegExp.$4>=0){
return true;
}else{
return false;
}
}else{
return false;
}
}
1.7、检验url地址
/*
- 检验url地址
/
var checkUrl = function(url) {
var reg = /(http|ftp|https)😕/[\w-]+(.[\w-]+)+([\w-.,@?=%&:/~+#]*[\w-@?=%&/~+#])?/;
if (!reg.test(url)) {
return false;
}
return true;
}
/* - 完美判断是否为网址
/
function IsURL(strUrl) {
var regular = /^\b(((https?|ftp)😕/)?[-a-z0-9]+(.[-a-z0-9]+).(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(/[-a-z0-9_😡&?=+,.!/~%$]*)?)$/i;
if (regular.test(strUrl)) {
return true;
}
else {
return false;
}
}
1.8、检验身份证
/*
-
检验身份证
*/
var checkIdCard = function(idCard) {
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",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:"台湾",81:"香港",82:"澳门",91:"国外"}
var iSum = 0;
var info = "";
if (!/^\d{17}(\d|x)$/i.test(idCard)){
return false;//身份证长度或格式错误
}
idCard = idCard.replace(/x$/i, "a");
if (aCity[parseInt(idCard.substr(0, 2))] == null){
return false;//身份证地区非法;
}
var sBirthday = idCard.substr(6, 4) + "-" + Number(idCard.substr(10, 2)) + "-" + Number(idCard.substr(12, 2));
var d = new Date(sBirthday.replace(/-/g, "/"));
if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())){
return false;//身份证上的出生日期非法;
}
for (var i = 17; i >= 0; i--){
iSum += (Math.pow(2, i) % 11) * parseInt(idCard.charAt(17 - i), 11);
}
if (iSum % 11 != 1){
return false;//身份证号非法;
}return true;
}
1.9、检验邮箱
/*
- 检验邮箱
*/
var checkEmail = function(emailStr){
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
if(!reg.test(emailStr)){
return false;
}
return true;
}
1.10、检验日期
/*
- 检验日期
- 格式为YYYY-MM-DD
*/
var checkDate = function(dateValue) {
var result = dateValue.match(/((((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(((1[8-9]\d{2})|([2-9]\d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0?[1-9])$)|(((1[8-9]\d{2})|([2-9]\d{3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(([2468][048]00)(-)(0?2)(-)(29)$)|(([3579][26]00)(-)(0?2)(-)(29)$)|(([1][89][0][48])(-)(0?2)(-)(29)$)|(([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(([1][89][2468][048])(-)(0?2)(-)(29)$)|(([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(([1][89][13579][26])(-)(0?2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/);
if (result == null) {
return false;
}
return true;
}
1.11、检验金额
/*
- 检验金额
/
var checkMoney = function(money) {
if (money == '') {
return false;
}
money = money.replace(/(^\s)|(\s$)/g, "");
var reg = /[3].?[0-9]{0,2}$/;
if (!checkNum(money)) {
return false;
}
if (money.length > 3) {
if (money.substr(0, 1) == "0") {
if (money.substr(3, money.length).length > 2) {
return false;
}
}
}
if(!reg.test(money)){
return false;
}
return true;
}
1.12、检验否是汉字
/*
- 检验否是汉字
*/
var checkCharacter = function(charValue) {
var reg = /[4]{0,}$/;
if(!reg.test(charValue)){
return false;
}
return true;
}
1.13、检测密码强度
// nowLv表示密码的强度
function checkPwd(str) {
var nowLv = 0;
if (str.length < 6) {
return nowLv
}
;
if (/[0-9]/.test(str)) {
nowLv++
}
;
if (/[a-z]/.test(str)) {
nowLv++
}
;
if (/[A-Z]/.test(str)) {
nowLv++
}
;
if (/[.|-|_]/.test(str)) {
nowLv++
}
;
return nowLv;
}
非原创。原创: Panda 程序猿的栖息地 2021年03月04日 11:01 https://mp.weixin.qq.com/s?__biz=MzI1OTAxNzM4Ng==&mid=2456056543&idx=2&sn=e3fbcc3fd768234fd408a9d743ada8d7&chksm=fdef8d1aca98040cac4295d9d1e454809c8ba79d5da30b515ce7ac4f65f9ad1c174df7ea10e7&scene=27