浮点型demo:
if(/^\d+(\.\d+)?$/.test(value)){
this.val(/^\d+(\.\d+)?$/.exec(value))
}
金额支持两位小数:
!(/^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/.test(this.money.discount))
正整数:
!(/^[1-9]\d*$/.test(value))
中文或英文1-20位:
!(/^[a-zA-Z\u4e00-\u9fa5]{1,20}$/.test(value))
中、英、字符:
!isNaN(value)
字母和数字6-12位:
!(/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,12}$/.test(value))
英文、字符或数字1-20位:
!(/^[0-9\~#-+=_^$@%&!*]{1,20}$/.test(value))
手机格式:
!(/^1[3-9]\d{9}$/.test(value))
身份证:
!(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/.test(value))
千分位小数点后两位
function cc(s){
s=s+"";
if(/[^0-9\.]/.test(s)) return "invalid value";
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return s.replace(/^\./,"0.")
}
只能输入数字
<input οnkeyup="this.value=this.value.replace(/[^\d]/g,'')" />
邮箱:/([\w\-]+\@[\w\-]+\.[\w\-]+)/
字母+空格:/^[a-zA-Z ]*$/
合法URL:/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i
非负整数(正整数+0):^\d+$/
正整数:/^[0-9]*[1-9][0-9]*$/
非正整数(负整数 + 0):/^((-\d+)|(0+))$/
负整数:/^-[0-9]*[1-9][0-9]*$/
整数:/^-?\d+$/
非负浮点数(正浮点数 + 0):/^\d+(\.\d+)?$/
正浮点数:/^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/
非正浮点数(负浮点数 + 0):^((-\d+(\.\d+)?)|(0+(\.0+)?))$/
负浮点数:/^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
浮点数:/^(-?\d+)(\.\d+)?$/
特殊字符:/[~#^$@%&!*]/
if(/[~#^$@%&!*]/gi.test(value)){return false}
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
中文
var reg=/^[\u4e00-\u9fa5]{0,}$/;
if(value!=""&®.test(value)){
return true;
}else{
return false;
}
/*邮箱验证*/
function verify_mail(name){
var value=$.trim($("#"+name).val());
var reg=/^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
if(value!=""&&!reg.test(value)){
return false;
}
return true;
}
/*身份证验证*/
var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; // 加权因子
var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]; // 身份证验证位值.10代表X
function verify_card(name) {
var idCard=$.trim($("#"+name).val());
idCard = trim(idCard.replace(/ /g, "")); //去掉字符串头尾空格
if (idCard.length == 15) {
return isValidityBrithBy15IdCard(idCard); //进行15位身份证的验证
} else if (idCard.length == 18) {
var a_idCard = idCard.split(""); // 得到身份证数组
if(isValidityBrithBy18IdCard(idCard)&&isTrueValidateCodeBy18IdCard(a_idCard)){ //进行18位身份证的基本验证和第18位的验证
return true;
}else {
return false;
}
} else {
return false;
}
}
/**
* 判断身份证号码为18位时最后的验证位是否正确
* @param a_idCard 身份证号码数组
* @return
*/
function isTrueValidateCodeBy18IdCard(a_idCard) {
var sum = 0; // 声明加权求和变量
if (a_idCard[17].toLowerCase() == 'x') {
a_idCard[17] = 10; // 将最后位为x的验证码替换为10方便后续操作
}
for ( var i = 0; i < 17; i++) {
sum += Wi[i] * a_idCard[i]; // 加权求和
}
valCodePosition = sum % 11; // 得到验证码所位置
if (a_idCard[17] == ValideCode[valCodePosition]) {
return true;
} else {
return false;
}
}
/**
* 验证18位数身份证号码中的生日是否是有效生日
* @param idCard 18位书身份证字符串
* @return
*/
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(temp_date.getFullYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
return false;
}else{
return true;
}
}
/**
* 验证15位数身份证号码中的生日是否是有效生日
* @param idCard15 15位书身份证字符串
* @return
*/
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(temp_date.getYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
return false;
}else{
return true;
}
}
//去掉字符串头尾空格
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
/*最多只能输入2位小数限制*/
//example:<input type="text" οnkeypress="return checkDot(event,this.value)" οninput="checkValue(this)" onpropertychange="checkValue(this)">
function checkDot(event,value){
var keyCode = window.event?window.event.keyCode:event.which;
//如果按下的不是数字键或是.返回false 停止往下操作 8为退格键 0是针对firefox的
if((keyCode<48 || keyCode>57) && keyCode!=46 && keyCode!=8 && keyCode!=0){
return false;
}
//如果存在小数点 则不能再输入小数点
if(keyCode===46 && value.indexOf('.')>-1){
return false;
}
return true;
}
/*取小数点后两位,否则截取*/
function checkValue(elem){
var _regx = /\.\d{3,}$/,
_val = elem.value,
_index = _val.indexOf('.');
//如果满足 小数点后面3位小数或两3位以上小数 则进行截取
if(_regx.test(_val)){
elem.value = _val.slice(0,_index+3);
}
if(_val.substring(0,1)==0 && _val.substring(1,2)=='.'){
}else if(_val.substring(0,1)==0 && _val!=''){
elem.value=parseFloat(_val);
}
}