/***
* StringCheckUtil
* 字符串检测工具
*
* @version 1.0
* @method isNum(string,scope)
* @method isChinese(string,scope)
* @method isEnglish(string,scope)
* @method isContainsString(string,subString,Case)
*/ /**
* isNum(string,scope)
* @param string:string resource
* @param scope:all,part
*/
var StringCheckUtil = function() {};
StringCheckUtil.prototype.isNum = function(string, scope) {
//检验参数合法性
if ((arguments.length != 2) || (typeof(string) != 'string') || (typeof(scope) != 'string')) {
throw new Error("Arguments is not qualified!");
}
//检验scope参数
if ((scope != 'part') && (scope != 'all')) {
throw new Error("The argument what named is 'scope' is not qualified!");
} var regex_all = /\d*/; //i忽略大小写
var regex_part = /\d/gi; switch(scope){
case 'all':
return (string.match(regex_all) == string) ? true : false;break;
case 'part':
return (regex_part.test(string));break;
default:
console.log('This string is unknown.');
}
} /**
* isContainsString(string,Case)
* @param string:string resource
* @param Case:i(case-insentitive):忽略大小写,c:(case)不忽略大小写
*
*/
StringCheckUtil.prototype.isContainsString = function(string, subString, Case) {
//检验参数合法性
if ((arguments.length != 3) || (typeof(string) != 'string') || (typeof(subString) != 'string') || (typeof(Case) != 'string')) {
throw new Error("Arguments' length is not qualified!");
}
//检验scope参数
if ((Case != 'i') && (Case != 'c')) {
throw new Error("The argument what named is 'scope' is not qualified!");
} var regex_case = (Case == 'i') ? 'i' : '';
var regex_scope = 'g'; //默认:全局 var regex = new RegExp(subString, regex_case + regex_scope);
return regex.test(string);
}

Demo:

    var string_cs = "89898 67646g 6585dgdf7";
var stringNum = "jh787kk";
var Case_cs = 'i';
var subString_cs = "67646G";
var stringUtil_cs = new StringCheckUtil(); console.log("isNum:" + stringUtil_cs.isNum(stringNum, "all"));//非得全部是整数数字(不带小数点)
console.log("isNum:" + stringUtil_cs.isNum(stringNum, "part"));//包含数字 console.log("isContainsString:" + stringUtil_cs.isContainsString(string_cs, subString_cs, Case_cs));
//忽略大小写,是否包含目标字符串

  

未完待续....

JavaScript之字符串匹配工具[插件]的更多相关文章

  1. AsciiMorph - 新奇的 ASCII 字符画生成工具&插件

    AsciiMorph 是一个新奇的 ASCII 字符画生成工具和开源插件.字符画(ASCII Art)的历史可以追溯到几十年前,起初是用在图形显示功能受限的设备上,用ASCII字符集里的可打印字符来拼 ...

  2. JavaScript 字符串匹配 | JS 的正则用法 | 从后边匹配

    // 字符串匹配命令是 match,不是 replace var text = "http://123.com/456.html" ; window.alert(text.matc ...

  3. 使用Python做简单的字符串匹配

    由于需要在半结构化的文本数据中提取一些特定格式的字段.数据辅助挖掘分析工作,以往都是使用Matlab工具进行结构化数据处理的建模,matlab擅长矩阵处理.结构化数据的计算,Python具有与matl ...

  4. 介绍两个非常好用的Javascript内存泄漏检测工具

    内存泄漏对开发者来说一般很难检测因为它们是由一些大量代码中的意外的错误引起的,但它在系统内存不足前并不影响程序的功能.这就是为什么会有人在很长时间的测试期中收集应用程序性能指标来测试性能. 最简单的检 ...

  5. 使用JavaScript开发IE浏览器本地插件实例

    使用JavaScript开发IE浏览器本地插件实例 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2015-02-18我要评论 这篇文章主要介绍了使用JavaScript开发IE浏览器本 ...

  6. JavaScript和CSS实用工具、库与资源

    JavaScript和CSS实用工具.库与资源 JavaScript 库 Particles.js  - 一个用于在网页上创建漂亮的浮动粒子的 JS 库: Three.js  - 用于在网页上创建 3 ...

  7. python 字符串匹配问题

    想匹配html = <div class="back fl"><a href="javascript:void(0);" onclick=&q ...

  8. 字符串匹配Boyer-Moore算法:文本编辑器中的查找功能是如何实现的?---这应该讲的最容易懂的文章了!

    关于字符串匹配算法有很多,之前我有讲过一篇 KMP 匹配算法:图解字符串匹配 KMP 算法,不懂 kmp 的建议看下,写的还不错,这个算法虽然很牛逼,但在实际中用的并不是特别多.至于选择哪一种字符串匹 ...

  9. Python做简单的字符串匹配详解

    Python做简单的字符串匹配详解 由于需要在半结构化的文本数据中提取一些特定格式的字段.数据辅助挖掘分析工作,以往都是使用Matlab工具进行结构化数据处理的建模,matlab擅长矩阵处理.结构化数 ...

随机推荐

  1. xhtml 意義

    xhtml是html和xml的結合體. xhtml包含所有xml和html4.0結合的部分. xml是描述語言,html是顯示語言.二者結合可以產生形式良好的文檔. 不僅可以適用與電腦瀏覽器,也可以適 ...

  2. 如何停止处于stopping状态的windows服务

    工作中有时需要启动和停止windows service,有时候会出现服务处于stopping或者starting的状态,但是,在services界面中,start service/stop servi ...

  3. const,static,volatile关键字的作用

    const关键字: 1.欲阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化,以后就没有机会改变他了: 2.对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为 ...

  4. Luogu3835 【模板】可持久化平衡树(fhq-treap)

    fhq-treap,也即非旋treap,可以在不进行旋转操作的前提下维护treap.由于不需要旋转,可以对其可持久化. fhq-treap的基本操作是merge和split,并且通过这两个操作实现对t ...

  5. bzoj 3289 : Mato的文件管理 (莫队+树状数组)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3289 思路: 求区间最小交换的次数将区间变成一个不降序列其实就是求区间逆序对的数量,这 ...

  6. 隐藏SharePoint 2013 team sites里的follow按钮

    cls $featureid = 'a7a2793e-67cd-4dc1-9fd0-43f61581207a'$webapps = Get-spWebApplicationforeach($webap ...

  7. shell(3)-mysql主从监控shell

    需要先明白数据库主从同步正常的标准是来查看两个线程Slave_IO和Slave_SQL两个线程的工作状态: #!/bin/bash #Check MySQL Slave's Runnning Stat ...

  8. luogu2680 [NOIp2015]运输计划 (tarjanLca+二分答案+树上差分)

    我们先不会就二分一下答案,设它是x,我们要判断它能不能满足 为了满足这个答案,我们就要让原本路径长度大于x的所有路径都经过某条边,而且这条边还要大于等于最长的路径-x 于是运用树上差分的思想,对于所有 ...

  9. 震惊!1MB == 1000KB??

    稍微对电脑了解一点的同学可能都知道,电脑中的单位换算是: 1KB = 1024B 1MB = 1024KB 1GB = 1024MB ... 以前,我也是这么认为的.... 最近我在Linux解压某个 ...

  10. Python面向对象编程和模块

    在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象. 编写类时,你定义一大类对象都有的通用行为.基于类创建对象时,每个对象都自动具备这种通用行为,然后根据需要赋予每个对象独 ...