总结了一些平时工作中常用的正则表达式,并简单地封装成了validate.js,现在小编就来说说关于js正则表达式开山篇?下面内容希望能帮助到你,我们来一起看看吧!
js正则表达式开山篇
常用正则表达式总结了一些平时工作中常用的正则表达式,并简单地封装成了validate.js。
- 是否是正整数
- 是否是正数(可以是正整数,也可以是正浮点数)
- 验证手机号格式是否正确
- 验证电子邮箱格式是否正确
- 验证URL地址格式是否正确
- 验证身份证号格式是否正确
- 判断是否为空
/**
* 是否是正整数
* @param {*} value 待验证的数值
* @returns 验证结果
*/
export function isPositiveInteger(value) {
const reg = /^\d $/
return reg.test(value)
}
/**
* 是否是正数,可以是整数,也可以是浮点数
* @param {*} value 待验证的数值
* @returns 验证结果
*/
export function isPositivenumber(value) {
const reg = /^\d*\.?\d $/
return reg.test(value)
}
/**
* 验证手机号格式是否正确(宽松)
* @param {*} value 待验证的手机号
* @returns 验证结果
*/
export function validMobile(mobile) {
const reg = /^1[0-9]{10}$/
return reg.test(mobile)
}
/**
* 验证电子邮箱格式是否正确
* @param {*} value 待验证的电子邮箱
* @returns 验证结果
*/
export function validEmail(email) {
const reg = /^([A-Za-z0-9_\-\.]) \@([A-Za-z0-9_\-\.]) \.([A-Za-z]{2,4})$/
return reg.test(email)
}
/**
* 验证URL地址格式是否正确
* @param {*} value 待验证的URL地址
* @returns 验证结果
*/
export function validURL(s) {
const reg = /^http[s]?:\/\/.*/
return reg.test(s)
}
/**
* 验证身份证号格式是否正确
* @param {*} value 待验证的身份证号
* @returns 验证结果
*/
export function validIdNo() {
const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
return reg.test(s)
}
/**
* 判断是否为空
* @param {*} value 待验证内容
* @returns 验证结果
*/
export function isNull(val) {
if (typeof val === 'boolean') {
return false
}
if (typeof val === 'number') {
return false
}
if (val instanceof Array) {
if (val.length === 0) return true
} else if (val instanceof Object) {
if (JSON.stringify(val) === '{}') return true
} else {
if (val === 'null' || val == null || val === 'undefined' || val === undefined || val === '') return true
return false
}
return false
}
//正整数正则
var posPattern = /^\d $/; //负整数正则
var negPattern = /^-\d $/; //整数正则
var intPattern = /^-?\d $/; //输出 true console.log(posPattern.test("42")); //输出 true
console.log(negPattern.test("-42")); //输出 true
console.log(intPattern.test("-42"));
//可以是整数也可以是浮点数
//正数正则
var posPattern = /^\d*\.?\d $/;
//负数正则
var negPattern = /^-\d*\.?\d $/;
//数字正则
var numPattern = /^-?\d*\.?\d $/;
console.log(posPattern.test("42.2"));
console.log(negPattern.test("-42.2"));
console.log(numPattern.test("-42.2"));
var myreg = /^(13[0-9]{1}|14[5|7|9]{1}|15[0-3|5-9]{1}|166|17[0-3|5-8]{1}|18[0-9]{1}|19[8-9]{1}){1}\d{8}$/;
//身份证号(18位)正则
var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
//输出 true
console.log(cP.test("11010519880605371X"));
//URL正则
var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-] )\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
//输出 true
console.log(urlP.test(http://caibaojian.com));
//Email正则
var ePattern = /^([A-Za-z0-9_\-\.]) \@([A-Za-z0-9_\-\.]) \.([A-Za-z]{2,4})$/;
//输出 true
console.log(ePattern.test(99154507@qq.com));
//包含中文正则
var cnPattern = /[\u4E00-\u9FA5]/;
//输出 true
console.log(cnPattern.test("正则表达式"));