前端常用正则表达式--手机号,去空格,数字,字母,常用组合,邮箱,中国身份证

返回均为true 或者 false

手机号:

var isPhoneNo = function(str) {
	var reg=new RegExp("^1[3|4|5|7|8][0-9]\d{8}$");
	return reg.test(str);
}

去空格

//去除所有空格:
var removeSpace = function(str){
	if(!str){
		return "";
	}
	return str.replace(/\s+/g,"");
}
//去除两头空格:
var removeSpace = function(str){
	if(!str){
		return "";
	}
	return str.replace(/^\s+|\s+$/g,"");
}
//去除左空格:
var removeSpace = function(str){
	if(!str){
		return "";
	}
	return str.replace( /^\s/, '');
}
//去除右空格:
var removeSpace = function(str){
	if(!str){
		return "";
	}
	return str.replace(/(\s$)/g, "");
}

数字

//验证是否是数字
var isNum = function(str){
	var reg = new RegExp("^[0-9]*$");
	return reg.test(str);
}
//至少n位的数字
var isNumN = function(str){
	var reg = new RegExp("^\d{n,}$");
	return reg.test(str);
}
//验证n位的数字
var isNumN = function(str){
	var reg = new RegExp("^\d{n}$");
	return reg.test(str);
}
//验证m-n位的数字
var isNumMN = function(str){
	var reg = new RegExp("^\d{m,n}$");
	return reg.test(str);
}

字母

//是否由26个英文字母组成的字符串
var isLetters = function(str){
	var reg = new RegExp("^[A-Za-z]+$");
	return reg.test(str);
}
//是否由26个大写英文字母组成的字符串
var isLetters = function(str){
	var reg = new RegExp("^[A-Z]+$");
	return reg.test(str);
}
//是否由26个小写英文字母组成的字符串
var isLetters = function(str){
	var reg = new RegExp("^[a-z]+$");
	return reg.test(str);
}
//多符号字符串分割
let a = 'b:1233;d:666';
a.split(/;|:|,|,| |\r|\n/);//["b", "1233", "d", "666"]

常用字符串组合验证(简单的举一反三即可)

//是否由数字和26个英文字母组成的字符串
var isLettersNum = function(str){
	var reg = new RegExp("^[A-Za-z0-9]+$");
	return reg.test(str);
}
//是否由数字、26个英文字母或者下划线组成的字符串,至少两种,不能以数字开头
var isLettersNum = function(str){
	var reg = new RegExp("^(?![0-9]+$)(?![a-zA-Z]+$)[A-Za-z_][A-Za-z_0-9]{0,}$");
	return reg.test(str);
}
//只能输入*和数字
var isLettersNum = function(str){
	var reg = new RegExp("^[0-9*]+$");
	return reg.test(str);
}
//只能输入下划线和数字
var isLettersNum = function(str){
	var reg = new RegExp("^[0-9_]+$");
	return reg.test(str);
}

邮箱

var isEmail= function(str) {
	var reg = new RegExp("^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$");
	return reg.test(str);
}

中国身份证

var isChineseID = function (number){
	number = String( number ).toLowerCase();
	function isDateLegal( y, m, d ) {
    	var st = [m, d, y.length < 4 ? '19' + y : y].join( '/' ).replace( /\b0/g, '' ),
    	dt = new Date( Date.parse( st ) );
    	return [dt.getMonth() + 1, dt.getDate(), dt.getFullYear()].join( '/' ) == st;
 	}
	function checkDate( y, m, d ) {
    	var st = [m, d, y.length < 4 ? '19' + y : y].join( '/' ).replace( /\b0/g, '' );
    	var dt = new Date( Date.parse( st ) );
    	return [dt.getMonth() + 1, dt.getDate(), dt.getFullYear()].join( '/' ) == st;
    }
    if ( /^\d{15}$/.test( number ) ) {
        return checkDate.apply( null, number.match( /^.{6}(..)(..)(..)/ ).slice( 1 ) );
    }
    if ( /^\d{17}[\dx]$/i.test( number ) ) {
        var sum = 0, times = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
        for ( var i = 0; i < 17; i++ )
            sum += parseInt( number.charAt( i ), 10 ) * times[i];
        if ( "10x98765432".charAt( sum % 11 ) != number.charAt( 17 ) )
            return false;
        return isDateLegal.apply( null, number.match( /^.{6}(.{4})(..)(..)/ ).slice( 1 ) );
    }

    return false;
}

过滤字符串中的html标签

var str = 'add<a>daad</a><p>fsdada</p>'
str.replace(/<[^<>]+>/g,'')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值