zoukankan      html  css  js  c++  java
  • JavaScript之字符串匹配工具[插件]

    /***
         * 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));
        //忽略大小写,是否包含目标字符串
    

      

    未完待续....

  • 相关阅读:
    Failed to load resource: the server responded with a status of 404 (Not Found) favicon.ico文件找不到
    合并排序
    python爬虫入门笔记--爬取垃圾分类查询【还有待改善】
    快速排序、合并排序和分治策略的基本思想
    动态规划的基本要素
    【转载】算法时间复杂度分析方法
    python爬虫入门笔记--知乎发现(爬取失败了)
    管理主界面的两个刷新操作
    把Excel选手名单信息导入到评委计分软件Access数据库的步骤
    评委打分回避功能的详细操作步骤
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/7208981.html
Copyright © 2011-2022 走看看