表单验证常用正则表达式
1、只允许输入框输入正整数和小数
<input type="number" onkeyup="this.value=this.value.replace(/[^\-?\d]/g,'')" value="">
^\d+(\.\d{1,2})?$
1 /* input 输入框type=number 时,上下箭头隐藏 */ 2 input::-webkit-outer-spin-button, 3 input::-webkit-inner-spin-button { 4 -webkit-appearance: none; 5 } 6 7 input[type="number"] { 8 -moz-appearance: textfield; 9 }
1 <input type="number" onblur="onMoney(this)" value=""> 2 3 function onMoney(obj) { 4 obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符 5 obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是. 6 obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的. 7 obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); 8 }
15/18位身份证号码验证的正则表达式总结(详细版)
https://blog.csdn.net/zgrkaka/article/details/80341068
用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;
密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
数字
数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$ 非负整数:^\d+$ 或 ^[1-9]\d*|0$ 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
1 export const VDT = { 2 messages:{ 3 required: "这是必填字段", 4 email: "请输入有效的电子邮件地址", 5 url: "请输入有效的网址", 6 minlength: "输入字数过短", 7 maxlength: "输入字数过长", 8 date: "请输入有效的日期", 9 dateISO: "请输入有效的日期 (YYYY-MM-DD)", 10 number: "请输入有效的数字", 11 digits: "只能输入数字", 12 creditcard: "请输入有效的信用卡号码", 13 equalTo: "你的输入不相同", 14 extension: "请输入有效的后缀", 15 mphone: "请输入正确的手机号格式", 16 tphone: "请输入正确的电话格式", 17 postal: "请输入正确的邮编格式" 18 }, 19 required: (value, param) => { 20 return value != undefined ? (value.toString().length > 0) : false 21 }, 22 email: (value) => { 23 return /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value) 24 }, 25 url: (value) => { 26 return /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(value) 27 }, 28 minlength: (value, param) => { 29 return value.length >= param 30 }, 31 maxlength: (value, param) => { 32 return value.length <= param 33 }, 34 date: function (value) { 35 return !/Invalid|NaN/.test(new Date(value).toString()); 36 }, 37 dateISO: function (value) { 38 return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value); 39 }, 40 number: function (value) { 41 return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value); 42 }, 43 digits: function (value) { 44 return /^\d+$/.test(value); 45 }, 46 isarr: function (o) { 47 return Object.prototype.toString.call(o) == '[object Array]'; 48 }, 49 rangelength: function (value, param) { 50 var length = $.isArray(value) ? value.length : this.getLength(value); 51 return (length >= param[0] && length <= param[1]); 52 }, 53 min: function (value, param) { 54 return value >= param; 55 }, 56 max: function (value, param) { 57 return value <= param; 58 }, 59 range: function (value, param) { 60 return (value >= param[0] && value <= param[1]); 61 }, 62 equalTo: function (value, param) { 63 return value === param; 64 }, 65 mphone: function (value) { 66 return /^1[3|4|5|8][0-9]\d{4,8}$/.test(value); 67 }, 68 tphone: function (value) { 69 return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/.test(value); 70 }, 71 postal: function (value) { 72 return /^[a-zA-Z0-9 ]{3,12}$/g.test(value); 73 } 74 75 }