表单验证常用正则表达式

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         }
View Code

 

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 }

 

posted @ 2020-04-08 09:45  思猿客  阅读(900)  评论(0编辑  收藏  举报