1 /**
2 *
3 */
4 testfunction();
5 function testfunction(){
6 var str = "[LINESTRING ( 120.345678 30.34568, 120.345678 30.34568)]";
7 console.log("移除所有数字:"+trimNumber(str).toString());
8 console.log("取出字符串中的数字,返回数字数组:"+GetNumbers(str).toString());
9 console.log("取出字符串中的数字(包括小数),返回数字数组:"+GetDoubleNumbers(str).toString());
10 console.log("取出中括号内的内容:"+getBracketStr(str).toString());
11 console.log("取出小括号内的内容:"+getParenthesesStr(str).toString());
12 }
13 //删除字符串中的数字。
14 function trimNumber(str){
15 return str.replace(/\d+/g,'');
16 }
17 //取出字符串中的数字,返回数字数组
18 function GetNumbers(str){
19 return str.match(/\d+/g,'');
20
21 }
22 //取出字符串中的数字(包括小数),返回数字数组
23 function GetDoubleNumbers(str){
24 return str.match(/-?([1-9]\d*(\.\d*)*|0\.[1-9]\d*)/g);
25 }
26 /**
27 * 取出中括号内的内容
28 * @param text
29 * @returns {string}
30 */
31 function getBracketStr(str) {
32 let result = ''
33 if (!(text))
34 return result
35 var regex = /\[(.+?)\]/g;
36 var options = str.match(regex)
37 return str.match(/\[(.+?)\]/g)
38 }
39
40 /**
41 * 取出小括号内的内容
42 * @param text
43 * @returns {string}
44 */
45 function getParenthesesStr(str) {
46 var result = ''
47 if (!str){
48 return result
49 }
50 var regex = /\((.+?)\)/g;
51 return str.match(regex)
52

 js:前端的常用验证

1 isNotNull: function (obj) {// 验证不为空
2 var res = { code: true, msg: '' };
3 obj = $.trim(obj);
4 if (obj == null || obj == undefined || obj.length == 0) {
5 res.code = false;
6 res.msg = '不能为空';
7 }
8 return res;
9 },
10 isNum: function (obj) {// 验证数字
11 return hongsoft.validator.validReg(obj, /^[-+]?\d+$/, '必须为数字');
12 },
13 isNumOrNull: function (obj) {// 验证数字 或者空
14 return hongsoft.validator.validRegOrNull(obj, /^[-+]?\d+$/, '数字或空');
15 },
16 isEmail: function (obj) {//Email验证 email
17 return hongsoft.validator.validReg(obj, /^\w{3,}@\w+(\.\w+)+$/, '必须为E-mail格式');
18 },
19 isEmailOrNull: function (obj) {//Email验证 email 或者null,空
20 return hongsoft.validator.validRegOrNull(obj, /^\w{3,}@\w+(\.\w+)+$/, '必须为E-mail格式或空');
21 },
22 isEnglishStr: function (obj) {//验证只能输入英文字符串 echar
23 return hongsoft.validator.validReg(obj, /^[a-z,A-Z]+$/, '必须为英文字符串');
24 },
25 isEnglishStrOrNull: function (obj) {//验证只能输入英文字符串 echar 或者null,空
26 return hongsoft.validator.validRegOrNull(obj, /^[a-z,A-Z]+$/, '必须为英文字符串或空');
27 },
28 isTelephone: function (obj) { //验证是否电话号码 phone
29 return hongsoft.validator.validReg(obj, /^(\d{3,4}\-)?[1-9]\d{6,7}$/, '必须为电话格式');
30 },
31 isTelephoneOrNull: function (obj) {//验证是否电话号码 phone或者null,空
32 return hongsoft.validator.validRegOrNull(obj, /^(\d{3,4}\-)?[1-9]\d{6,7}$/, '必须为电话格式或空');
33 },
34 isMobile: function (obj) {//验证是否手机号 mobile
35 return hongsoft.validator.validReg(obj, /^(\+\d{2,3}\-)?\d{11}$/, '必须为手机格式');
36 },
37 isMobileOrnull: function (obj) {//验证是否手机号 mobile或者null,空
38 return hongsoft.validator.validRegOrNull(obj, /^(\+\d{2,3}\-)?\d{11}$/, '必须为手机格式或空');
39 },
40 isMobileOrPhone: function (obj) {//验证是否手机号或电话号码 mobile phone
41 var res = { code: true, msg: '' };
42 if (!hongsoft.validator.isTelephone(obj).code && !hongsoft.validator.isMobile(obj).code) {
43 res.code = false;
44 res.msg = '为电话格式或手机格式';
45 }
46 return res;
47 },
48 isMobileOrPhoneOrNull: function (obj) {//验证是否手机号或电话号码 mobile phone或者null,空
49 var res = { code: true, msg: '' };
50 if (hongsoft.validator.isNotNull(obj).code && !hongsoft.validator.isTelephone(obj).code && !hongsoft.validator.isMobile(obj).code) {
51 res.code = false;
52 res.msg = '为电话格式或手机格式或空';
53 }
54 return res;
55 },
56 isUri: function (obj) {//验证网址 uri
57 return hongsoft.validator.validReg(obj, /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, '必须为网址格式');
58 },
59 isUriOrNull: function (obj) {//验证网址 uri或者null,空
60 return hongsoft.validator.validRegOrNull(obj, /^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, '必须为网址格式或空');
61 },
62 isDate: function (obj) {//判断日期类型是否为YYYY-MM-DD格式的类型 date
63 return hongsoft.validator.validReg(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/, '必须为日期格式');
64 },
65 isDateOrNull: function (obj) {//判断日期类型是否为YYYY-MM-DD格式的类型 date或者null,空
66 return hongsoft.validator.validRegOrNull(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/, '必须为日期格式或空');
67 },
68 isDateTime: function (obj) {//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime
69 return hongsoft.validator.validReg(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/, '必须为日期时间格式');
70 },
71 isDateTimeOrNull: function (obj) {//判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型 datetime或者null,空
72 return hongsoft.validator.validRegOrNull(obj, /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/, '必须为日期时间格式');
73 },
74 isTime: function (obj) {//判断日期类型是否为hh:mm:ss格式的类型 time
75 return hongsoft.validator.validReg(obj, /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/, '必须为时间格式');
76 },
77 isTimeOrNull: function (obj) {//判断日期类型是否为hh:mm:ss格式的类型 time或者null,空
78 return hongsoft.validator.validRegOrNull(obj, /^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/, '必须为时间格式或空');
79 },
80 isChinese: function (obj) {//判断输入的字符是否为中文 cchar
81 return hongsoft.validator.validReg(obj, /^[\u0391-\uFFE5]+$/, '必须为中文');
82 },
83 isChineseOrNull: function (obj) {//判断输入的字符是否为中文 cchar或者null,空
84 return hongsoft.validator.validRegOrNull(obj, /^[\u0391-\uFFE5]+$/, '必须为中文或空');
85 },
86 isZip: function (obj) {//判断输入的邮编(只能为六位)是否正确 zip
87 return hongsoft.validator.validReg(obj, /^\d{6}$/, '必须为邮编格式');
88 },
89 isZipOrNull: function (obj) {//判断输入的邮编(只能为六位)是否正确 zip或者null,空
90 return hongsoft.validator.validRegOrNull(obj, /^\d{6}$/, '必须为邮编格式或空');
91 },
92 isDouble: function (obj) {//判断输入的字符是否为双精度 double
93 return hongsoft.validator.validReg(obj, /^[-\+]?\d+(\.\d+)?$/, '必须为小数');
94 },
95 isDoubleOrNull: function (obj) {//判断输入的字符是否为双精度 double或者null,空
96 return hongsoft.validator.validRegOrNull(obj, /^[-\+]?\d+(\.\d+)?$/, '必须为小数或空');
97 },
98 isIDCard: function (obj) {//判断是否为身份证 idcard
99 return hongsoft.validator.validReg(obj, /^\d{15}(\d{2}[A-Za-z0-9;])?$/, '必须为身份证格式');
100 },
101 isIDCardOrNull: function (obj) {//判断是否为身份证 idcard或者null,空
102 return hongsoft.validator.validRegOrNull(obj, /^\d{15}(\d{2}[A-Za-z0-9;])?$/, '必须为身份证格式或空');
103 },
104 isIP: function (obj) {//判断是否为IP地址格式
105 var res = { code: true, msg: '' };
106 var reg = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
107 var flag = false;
108 if (reg.test(obj)) {
109 if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) { flag = true };
110 }
111 if (!flag) {
112 res.code = false;
113 res.msg = '必须为IP格式';
114 }
115 return res;
116 },
117 isIPOrNull: function (obj) {//判断是否为IP地址格式 或者null,空
118 var res = { code: true, msg: '' };
119 if (hongsoft.validator.isNotNull(obj) && !hongsoft.validator.isIP(obj).code) {
120 res.code = false;
121 res.msg = '必须为IP格式或空';
122 }
123 return res;
124 },
125
126 isLenNum: function (obj, n) {//验证是否是n位数字字符串编号 nnum
127 var res = { code: true, msg: '' };
128 var reg = /^[0-9]+$/;
129 obj = $.trim(obj);
130 if (obj.length > n || !reg.test(obj)) {
131 res.code = false;
132 res.msg = '必须为' + n + '位数字';
133 }
134 return res;
135 },
136 isLenNumOrNull: function (obj, n) {//验证是否是n位数字字符串编号 nnum或者null,空
137 var res = { code: true, msg: '' };
138 if (hongsoft.validator.isNotNull(obj).code && !hongsoft.validator.isLenNum(obj)) {
139 res.code = false;
140 res.msg = '必须为' + n + '位数字或空';
141 }
142 return res;
143 },
144 isLenStr: function (obj, n) {//验证是否小于等于n位数的字符串 nchar
145 var res = { code: true, msg: '' };
146 obj = $.trim(obj);
147 if (!hongsoft.validator.isNotNull(obj).code || obj.length > n) {
148 res.code = false;
149 res.msg = '必须小于等于' + n + '位字符';
150 }
151 return res;
152 },
153 isLenStrOrNull: function (obj, n) {//验证是否小于等于n位数的字符串 nchar或者null,空
154 var res = { code: true, msg: '' };
155 obj = $.trim(obj);
156 if (hongsoft.validator.isNotNull(obj).code && obj.length > n) {
157 res.code = false;
158 res.msg = '必须小于等于' + n + '位字符或空';
159 }
160 return res;
161

 其他:

验证数字的正则表达式集

  • 验证数字:^[0-9]*$
  • 验证n位的数字:^\d{n}$
  • 验证至少n位数字:^\d{n,}$
  • 验证m-n位的数字:^\d{m,n}$
  • 验证零和非零开头的数字:^(0|[1-9][0-9]*)$
  • 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
  • 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
  • 验证非零的正整数:^\+?[1-9][0-9]*$
  • 验证非零的负整数:^\-[1-9][0-9]*$
  • 验证非负整数(正整数 + 0) ^\d+$
  • 验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
  • 验证长度为3的字符:^.{3}$
  • 验证由26个英文字母组成的字符串:^[A-Za-z]+$
  • 验证由26个大写英文字母组成的字符串:^[A-Z]+$
  • 验证由26个小写英文字母组成的字符串:^[a-z]+$
  • 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
  • 验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
  • 验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
  • 验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
  • 验证汉字:^[\u4e00-\u9fa5],{0,}$
  • 验证Email地址:/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/
  • 验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
  • 验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
  • 验证身份证号(15位或18位数字):^\d{15}|\d{}18$
  • 验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
  • 验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
  • 整数:^-?\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+)?$
  • 16进制(16位)/^[0-9a-fA-F]{16,16}$/
  • ​Linux文件路径验证:/\/([\w\.]+\/)+[^.]+\.[a-zA-Z]+/ 可以匹配:​​​​/home/.wwwrooT/a.txt  ​​​/home/a.java

我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。 我要做一个自由又自律的人,靠势必实现的决心认真地活着。