工作中JS经常使用表达式:

1)2010-09-10类型日期校验

2)推断正整数。字符串长度

3)校验长度,和是否空

4)推断字符串是否为空

5)比較字符大小

6)推断字符串长度

7)推断格式是否为Email格式

8)推断是否为两位小数

9)推断是否包括中文

10)推断是否包括字符串

11)推断是否为数字

12)推断是否为正整数

13)推断英文字符跟数字组合

14)IP格式推断

  1. Ext.require(['*']);
  2.  
  3. /***
  4. * 日期校验
  5. * @param {} num
  6. * @return {}
  7. */
  8. function testDate(newdate){
  9. alert(newdate);
  10. var startime=Ext.util.Format.date(newdate,'Y-m-d H:m:s');
  11. var startDateTemp = startime.split(" ");
  12. reg=/^([1-2]\d{3})[\/|\-](0?
  13.  
  14. [1-9]|10|11|12)[\/|\-]([1-2]?
  15.  
  16. [0-9]|0[1-9]|30|31)$/;
  17. if(!startDateTemp[0].match(reg)){
  18. Ext.Msg.alert("系统提示","请选择正确的日期格式如:2010-09-10!!");
  19. return false;
  20. }
  21. return true;
  22. }
  23.  
  24. //推断正整数。字符串长度
  25. function checkNumAndLen(abc,lenNum)
  26. {
  27. //推断空
  28. if(!checkNull(abc)) {
  29. //推断正整数
  30. var reg = /^[0-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?
  31.  
  32. [0-9]*$/
  33. if (!abc.match(reg))
  34. {
  35. return false;
  36. }
  37. return checkLenth(abc,lenNum);
  38. }
  39. return false;
  40. }
  41.  
  42. //推断正整数,字符串长度
  43. function checkNumAndNumLen(abc,lenNum) {
  44. //推断空
  45. if(!checkNull(abc)) {
  46. //推断正整数
  47. var pattern = /^[0-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?[0-9]*$/
  48. if (pattern.test(abc)){
  49. if(abc.length <= lenNum){
  50. return false;
  51. }else{
  52. return true;
  53. }
  54. }else{
  55. return true;
  56. }
  57. }else{
  58. return true;
  59. }
  60. }
  61.  
  62. //校验长度。和是否空
  63. //校验成功返回true 失败false
  64. function checkNullAndLength(abc,num) {
  65. if(!checkNull(abc)) {
  66. return checkLenth(abc,num);
  67. }
  68. return false;
  69. }
  70.  
  71. //推断是否为空
  72. function checkNull(abc) {
  73. if(abc == null || abc.replace(/^\s\s*/, '' ).replace(/\s\s*$/, '' ).length == 0) {
  74. return true;
  75. }
  76. return false;
  77. }
  78.  
  79. /**
  80. * 比較大小
  81. * @param from
  82. * @param to
  83. * @returns {Number}
  84. */
  85. function compare(from,to){
  86.  
  87. if(from>to){
  88. return 1;
  89. }else if(from==to){
  90. return 0;
  91. }else if(from<to){
  92. return -1;
  93. }
  94.  
  95. }
  96.  
  97. //推断字符串长度
  98. function checkLenth(abc,lenNum) {
  99. if(lenNum == 0 || abc == null) {
  100. return true;
  101. }
  102.  
  103. var l = 0;
  104. var a = abc.split("");
  105.  
  106. for (var i=0;i<a.length;i++) {
  107. if (a[i].charCodeAt(0)<299) {
  108. l++;
  109. }
  110. else
  111. {
  112. l+=2;
  113. }
  114. }
  115. if(l > lenNum) {
  116. return false;
  117. }
  118. return true;
  119.  
  120. }
  121.  
  122. //电话号码
  123. function checkPhone(strNumber)
  124. {
  125. var pattern = /^\d{0,20}$/;
  126. if(strNumber==null||strNumber==""){
  127. return true;
  128. }else{
  129. if(pattern.test(strNumber)){
  130. return true;
  131. }
  132. }
  133.  
  134. return false;
  135. }
  136.  
  137. //Email
  138. function checkEmail(strEmail)
  139. {
  140. var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
  141. if(pattern.test(strEmail))
  142. return true;
  143. return false;
  144. }
  145.  
  146. //2位小数
  147. function isDecimal(value){
  148. if(value == null)
  149. return false;
  150.  
  151. var v = value;
  152.  
  153. var pattern = /^[1-9]+\.\d{1,2}$/;
  154. flag = pattern.test(v);
  155.  
  156. if(!flag){
  157.  
  158. //obj.value = obj.value + ".00";
  159. //obj.select();
  160. //obj.focus();
  161. return false;
  162. }else{
  163. return true;
  164. }
  165. }
  166.  
  167. //是否包括中文
  168. //true: 包括中文 false:不包括中文
  169. function checkChinese(str){
  170. if (escape(str).indexOf("%u") != -1) {
  171. return true;
  172. }
  173. else {
  174. return false;
  175. }
  176. }
  177.  
  178. //是否包括特殊字符
  179. function checkQuote(str){
  180. var items = new Array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "{", "}", "[", "]", "(", ")","'");
  181. items.push(":", ";", "’", "|", "\\", "<", ">", "?", "/", "<<", ">>", "||", "//");
  182. items.push("admin", "administrators", "administrator");
  183. items.push("select", "delete", "update", "insert", "create", "drop", "alter", "trancate");
  184. str = str.toLowerCase();
  185. for (var i = 0; i < items.length; i++) {
  186. if (str.indexOf(items[i]) >= 0) {
  187. return true;
  188. }
  189. }
  190. return false;
  191. }
  192.  
  193. //是否是数字
  194. function checkNum(str){
  195. var pattern = /^[0-9]*$/;
  196. if(pattern.test(str)){
  197. return false;
  198. }else{
  199. return true;
  200. }
  201. }
  202.  
  203. //是否是正整数
  204. function checkPositiveNum(str){
  205. //推断空
  206. if(!checkNull(str)) {
  207. //推断正整数
  208. var reg = /^[1-9]+[0-9]*]*$/; //推断字符串是否为数字 /^[0-9]+.?[0-9]*$/
  209. if (str.match(reg)){
  210. return false;
  211. }else{
  212. return true;
  213. }
  214. }
  215. return true;
  216. }
  217.  
  218. /**
  219. * 推断文件格式是否正确
  220. * @param {Object} str
  221. * @return {TypeName}
  222. */
  223. function checkFile(str){
  224. //验证图片文件的正则
  225. var img_reg = /\.([vV][mM]){1}$/;
  226. if(str.match(img_reg)){
  227. return false;
  228. }else{
  229. return true;
  230. }
  231. }
  232.  
  233. /**
  234. * 推断文件格式是否正确
  235. * @param {Object} str
  236. * @return {TypeName}
  237. */
  238. function checkFileExcel(str){
  239. //验证图片文件的正则
  240. var img_reg = /\.([xX][lL][sS]){1}$/;
  241. if(str.match(img_reg)){
  242. return false;
  243. }else{
  244. return true;
  245. }
  246. }
  247.  
  248. //仅仅能是英文字符跟数字组合
  249. function checkatandnumber(str,strlength){
  250.  
  251. var qtype=/^[A-Za-z0-9]+$/;
  252. if(str.match(qtype)){
  253. if(!checkLenth(str,strlength)){
  254. return false;
  255. }else{
  256. return true;
  257. }
  258.  
  259. }else{
  260. return false;
  261. }
  262. }
  263.  
  264. /**
  265. * IP格式推断
  266. * @param {Object} str
  267. * @param {Object} strlength
  268. * @return {TypeName}
  269. */
  270. function checkIp(str){
  271. var pattern = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
  272. if(pattern.test(str)){
  273. return false;
  274. }else{
  275. return true;
  276. }
  277. }

JS经常使用正則表達式【分享】的更多相关文章

  1. js正則表達式语法

    1. 正則表達式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之同样的 ...

  2. 正則表達式--js使用案例

    前言:在前端页面使用中.遇到日期格式的验证.開始使用了一款表单控件验证.可是不兼容!!并且使用起来还受到非常大约束.所以就决定自己写原生js. 为了完毕日期格式的验证.第一步,当然是学会使用正則表達式 ...

  3. js正則表達式--验证表单

    检測手机号码:/0? (13|14|15|18)[0-9]{9}/ 检測username:(数字,英文,汉字.下划线.中横线):/^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/ pas ...

  4. js中 正則表達式

    正則表達式使用具体解释 简单介绍 简单的说,正則表達式是一种能够用于模式匹配和替换的强有力的工具.其作用例如以下: 測试字符串的某个模式.比如,能够对一个输入字符串进行測试,看在该字符串是否存在一个电 ...

  5. js正則表達式

    正則表達式實例化的兩種方式: 字符型 var a=// 對象型var a=new RegExp(,) 修飾符: i:忽略大小寫 g:全局搜索 m:多行搜索 元字符: \轉義字符 \w:字符,數字,下劃 ...

  6. jquery+正則表達式验证邮箱格式的样例

    js: $("#email").blur(function(){ //获取id相应的元素的值,去掉其左右的空格 var email = $.trim($('#email').val ...

  7. javascript 正則表達式补充

    定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  8. JavaScript之正則表達式入门

    <html> <head><title>Js String 正則表達式</title><script>//边界符 js 中直接定义须要边界符 ...

  9. 轻松学习JavaScript十四:JavaScript的RegExp对象(正則表達式)

    一RegExp对象概述 RegExp对象表示正則表達式,RegExp是正則表達式的缩写.它是对字符串运行模式匹配的强大工具. RegExp 对象用于规定在文本中检索的内容. 当您检索某个文本时.能够使 ...

随机推荐

  1. DELPHI 通過窗口句柄或窗口标题得到进程句柄

    DELPHI 通過窗口句柄或窗口标题得到进程句柄2009年05月08日 星期五 10:15procedure TForm1.Button1Click(Sender: TObject);varhWind ...

  2. 基于visual Studio2013解决面试题之0306打印第一次只出现一次的字符

     题目

  3. SilkTest Q&A 7

    Q61.有一个用Dotnet开发的应用,有1000个为测它而录制的case,一直都运行的很正常,直到有一天… 有人改变了该应用命名空间,由于现在有一个新的window或是panel出现,所以测试脚本一 ...

  4. openCV中cvSnakeImage()函数代码分析

    /*M/////////////////////////////////////////////////////////////////////////////////////// // // IMP ...

  5. 【翻译】十大要避免的Ext JS开发方法

    原文地址:http://www.sencha.com/blog/top-10-ext-js-development-practices-to-avoid/ 作者:Sean Lanktree Sean ...

  6. 在屏幕上建立ALV

    在屏幕上创建两个文本元素空件.一个推出按钮控件.一个定制控制按钮 代码所示: *&------------------------------------------------------- ...

  7. 【Visual C++】Windows GDI贴图闪烁解决方法

    一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的 ...

  8. 14.2.5.2 Clustered and Secondary Indexes

    14.2.5.2 Clustered and Secondary Indexes : 每个InnoDB 表 有一个特别的索引称为clustered index 行数据存储的地方. 典型的,cluste ...

  9. cct信息安全

    基本信息 全国计算机等级考试三级教程——信息安全技术(2016年版) 作    者:教育部考试中心 编 出 版 社:高等教育出版社 出版时间:2015-12-1 ISBN:9787040443035 ...

  10. 【web开发学习笔记】Structs2 Action学习笔记(一个)

    1.org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter准备和运行 2. <filter-mapping&g ...