JS常⽤正则表达式及验证时间的正则表达式
1.在input框中只能输⼊⾦额,其实就是只能输⼊最多有两位⼩数的数字 //第⼀种在input输⼊框限制
<input type="text"maxlength="8"class="form-control"id="amount" value=""onChange="count();"onkeyup="if (this.value==this.va lue2) return; if (this.value.search(/^\d*(?:\.\d{0,2})?$/)==-1) this.value=(this.value2)?this.value2:'';else this.value2=this.value;">元
//第⼆种对于表单动态增加的⽅式,只能在js⽅法中验证。
var amount=$("#amount").val();
if(amount.search(/^\d*(?:\.\d{0,2})?$/)==-1){
alert("⾦额格式不对,最多有两位⼩数");
return false;
}
2.验证邮箱格式
var reg=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
var email=$("#email").val();
if(!st(email)){
alert("请输⼊符合规范的邮箱账号!");
return false;
}
3.密码采⽤数字、字母、特殊字符且长度为8-20位
function validatePwd(str){
if(/^.*?[\d]+.*$/.test(str)&&/^.*?[A-Za-z]/.test(str)
&&/^.*?[~/`!@#$%^&*()_+|{}?;:><\-\]\\[\/].*$/.test(str)&&/^.{8,20}$/.test(str)){
return true;
}
return false;
}
4.验证电话号码
/**
* 验证电话号码
* @param phoneValue 要验证的电话号码
* @returns 匹配返回true 不匹配返回false
*/
function validatePhone(phoneValue){
phoneValue =valueTrim(phoneValue);
var reg =/^[1][0-9]{10}$/;
st(phoneValue);
}
5.判断是否是汉字
/**
* 判断是否是汉字
*
* @param charValue
* 要验证的数据
* @returns 匹配返回true 不匹配返回false
*/
function isCharacter(charValue){
var reg =/^[\u4e00-\u9fa5]{0,}$/;
st(charValue);
}
6.是否为字母:true:是,false:不是
function isChar(charValue){
var charPattern=/^[a-zA-Z]*$/;//是否为字母
st(charValue);
return result;
}
7.判断是否为数字
function isNum(numValue){
var numPattern=/^\d*$/;//数字的正则表达式
st(numValue);
return result;
}
8.整数的正则表达式
function isInt(intValue){
var intPattern=/^0$|^[1-9]\d*$/;//整数的正则表达式
st(intValue);
return result;
}
9.是否为字母和数字
function isCharNum(flagValue){
var flagPattern=/^[a-zA-Z0-9]*$/;//是否为字母和数字
st(flagValue);
return result;
}
10.检验18位⾝份证号码
/**
* 检验18位⾝份证号码(15位号码可以只检测⽣⽇是否正确即可,⾃⾏解决)
*
* @param idCardValue
* 18位⾝份证号
* @returns 匹配返回true 不匹配返回false
*/
function idCardVildate(cid){
var arrExp =[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];// 加权因⼦
var arrValid =[1,0,"X",9,8,7,6,5,4,3,2];// 校验码
var reg =/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; st(cid)){
var sum =0, idx;
for(var i =0; i < cid.length -1; i++){
// 对前17位数字与权值乘积求和
sum +=parseInt(cid.substr(i,1),10)* arrExp[i];
}
// 计算模(固定算法)
idx = sum %11;
// 检验第18为是否与校验码相等
return arrValid[idx]== cid.substr(17,1).toUpperCase();
}else{
return false;
}
}
11.验证15位数⾝份证号码中的⽣⽇是否是有效⽣⽇
function isValidityBrithBy15IdCard(idCard15){
var year = idCard15.substring(6,8);
var month = idCard15.substring(8,10);
var day = idCard15.substring(10,12);
var temp_date =new Date(year,parseFloat(month)-1,parseFloat(day));
// 对于⽼⾝份证中的你年龄则不需考虑千年⾍问题⽽使⽤getYear()⽅法
if(Year()!=parseFloat(year)
|| Month()!=parseFloat(month)-1
|| Date()!=parseFloat(day)){
return false;
}else{
return true;
}
}
12.验证18位数⾝份证号码中的⽣⽇是否是有效⽣⽇
function isValidityBrithBy18IdCard(idCard18){
var year = idCard18.substring(6,10);
var month = idCard18.substring(10,12);
var day = idCard18.substring(12,14);
var temp_date =new Date(year,parseFloat(month)-1,parseFloat(day));
// 这⾥⽤getFullYear()获取年份,避免千年⾍问题
if(FullYear()!=parseFloat(year)
|| Month()!=parseFloat(month)-1
|| Date()!=parseFloat(day)){
return false;
}else{
return true;
}
}
13:js验证时间正则表达式
验证时间格式为:2012-01-31 09:00:22
var reDateTime =/^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/; var isDateTime = st('2012-01-31 09:00:22');
验证时间格式为:09:00
js中文正则表达式var reDateTime =/^(?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]$/;
var isDateTime = st('09:00');
14.验证只能输⼊正整数
/^[1-9]\d*$/
15.验证输⼊1-24
/^(([1-9])|(1\d)|(2[0-4]))$/
16.验证输⼊1-100
/^(([1-9])|([1-9]\d)|100)$/
本⽂部分转⾃: