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+)?$