澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站JS正则表达式实用总结,函数

2019-09-28 作者:www.8455.com   |   浏览(186)

    在档案的次序中要求对客商输入的新闻,以及部分格局生成的结果开展表明,常常在品种中相当多的利用js插件或js来进展有关音讯的校验,可是从品类安全性的角度展开思考,可对系统举办js注入。

DotNet项目中的一些常用验证操作,dotnet项目表明

    在类型中须求对客商输入的音信,以及一些措施生成的结果实行认证,平日在等级次序中比较多的施用js插件或js来扩充有关消息的校验,不过从体系安全性的角度进行思虑,可对系统实行js注入。

   倘诺在后台对客户输入的新闻进行验证会相对的辽源,在产出音讯认证违规时,能够直接在程序中抛出非常,终止程序的运维。

   以后提供三种比较常用的认证措施,能够减掉在类型中耗时和错误性:

1.确定域名:

        /// <summary>
        /// 普通的域名
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsCommonDomain(string value)
        {
            return QuickValidate("^(www.)?(\w \.){1,3}(org|org.cn|gov.cn|com|cn|net|cc)$", value.ToLower());
        }

2.检查一个字符串是不是是纯数字构成的,日常用于查询字符串参数的可行验证:

        /// <summary>
        /// 检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。
        /// </summary>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool IsNumeric(string value)
        {
            return QuickValidate("^[-]?[1-9]*[0-9]*$", value);
        }

3.检查一个字符串是不是是纯字母和数字组合的,平日用于查询字符串参数的平价验证:

        /// <summary>
        /// 检查一个字符串是否是纯字母和数字构成的,一般用于查询字符串参数的有效性验证。
        /// </summary>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool IsLetterOrNumber(string value)
        {
            return QuickValidate("^[a-zA-Z0-9_]*$", value);
        }

4.判断是或不是是数字,包涵小数和整数:

        /// <summary>
        /// 判断是否是数字,包括小数和整数。
        /// </summary>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool IsNumber(string value)
        {
            return QuickValidate("^(0|([1-9] [0-9]*))(.[0-9] )?$", value);
        }

5.急忙验证三个字符串是不是符合钦点的正则表达式:

        /// <summary>
        /// 快速验证一个字符串是否符合指定的正则表达式。
        /// </summary>
        /// <param name="express">正则表达式的内容。</param>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool QuickValidate(string express, string value)
        {
            var myRegex = new System.Text.RegularExpressions.Regex(express);
            return value.Length != 0 && myRegex.IsMatch(value);
        }

6.判定一个字符串是不是为邮件:

        /// <summary>
        /// 判断一个字符串是否为邮件
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsEmail(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^w ([- .]w )*@(w ([-.]w )*.) ([a-zA-Z] ) $", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

7.推断二个字符串是或不是为邮编:

        /// <summary>
        /// 判断一个字符串是否为邮编
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsZipCode(string value)
        {
            return QuickValidate("^([0-9]{6})$", value);
        }

8.决断三个字符串是不是为ID格式:

        /// <summary>
        /// 判断一个字符串是否为ID格式
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsIdCard(string value)
        {
            System.Text.RegularExpressions.Regex regex;
            string[] strArray;
            if ((value.Length != 15) && (value.Length != 0x12))
            {
                return false;
            }
            if (value.Length == 15)
            {
                regex = new System.Text.RegularExpressions.Regex(@"^(d{6})(d{2})(d{2})(d{2})(d{3})$");
                if (!regex.Match(value).Success)
                {
                    return false;
                }
                strArray = regex.Split(value);
                try
                {
                    var dateTime = new DateTime(int.Parse("19"   strArray[2]), int.Parse(strArray[3]), int.Parse(strArray[4]));
                    return true;
                }
                catch
                {
                    return false;
                }
            }
            regex = new System.Text.RegularExpressions.Regex(@"^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9Xx])$");
            if (!regex.Match(value).Success)
            {
                return false;
            }
            strArray = regex.Split(value);
            try
            {
                var dateTime = new DateTime(int.Parse(strArray[2]), int.Parse(strArray[3]), int.Parse(strArray[4]));
                return true;
            }
            catch
            {
                return false;
            }
        }

9.料定是否纯粤语:

        /// <summary>
        /// 判断是不是纯中文
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsChinese(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^[u4E00-u9FA5uF900-uFA2D] $", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

10.论断一个字符串是还是不是为手机号码:

        /// <summary>
        /// 判断一个字符串是否为手机号码
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsMobileNum(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^(13|15)d{9}$", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

11.剖断二个字符串是或不是为电话号码:

        /// <summary>
        /// 判断一个字符串是否为电话号码
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsPhoneNum(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^(86)?(-)?(0d{2,3})?(-)?(d{7,8})(-)?(d{3,5})?$", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

12.判断三个字符串是还是不是为网址:

        /// <summary>
        /// 判断一个字符串是否为网址
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsUrl(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"(http://)?([w-] .)*[w-] (/[w- ./?%&=]*)?", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

13.判断四个字符串是或不是为IP地址:

        /// <summary>
        /// 判断一个字符串是否为IP地址
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsIp(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1})).(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1})).(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1})).(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1}))$", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

14.推断三个字符串是或不是为字母加数字:

       /// <summary>
        /// 判断一个字符串是否为字母加数字
        /// Regex("[a-zA-Z0-9]?"
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsWordAndNum(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex("[a-zA-Z0-9]?");
            return regex.Match(value).Success;
        }

       以上的证实办法运用方法封装,在骨子里的品类中,能够将享有的点子封装在类中,方法都定义为静态方法,在项目中可径直调用当中的求证格局,能够大幅的进级换代项指标开销速度。

在品种中供给对顾客输入的新闻,以及部分方法生成的结果开展表明,平时在品种中很多的...

javascript中推断变量是或不是为数字的点子,这里根本介绍javascript里的 isNaN() 函数。

一、什么是正则表明式

正则表明式是由贰个字符连串产生的研究形式,找寻格局可用以文书搜索和文书替换。

   如若在后台对顾客输入的新闻举行验证会相对的安全,在出现音信表明违法时,能够一贯在前后相继中抛出特别,终止程序的运作。

功能:

二、创建正则表明式

JS正则表明式的始建有二种办法: new RegExp() 和 直接字面量。

var re=new RegExp ();
//RegExp 是JS中的类,同Array类似。然而这个创建方法没有指定表达式内容
re=new RegExp ("a");
//最简单的正则表达式,将匹配字母a 
re=new RegExp ("a","i");
//重载的构造函数,其第二个参数指定将不区分大小写

其间,对于第一个参数,为可选参数,包罗三种:

  • g:全文字笔迹核实索;
  • i:不区分轻重缓急写;
  • m:多行追寻;

只是更为广阔的正则表明式创造法规是:字面量的宣示格局。 即:

var re=/a/i;
//其作用同:re=new RegExp ("a","i"),而且更常用。

   以往提供二种相比较常用的表达办法,能够削减在项目中付出时间和错误性:

isNaN() 函数用于检查其参数是还是不是是非数字值。

三、正则表明式本人的章程

在 JavaScript 中,RegExp 对象是三个预订义了品质和格局的正则表明式对象。

  • test() 方法
    test() 方法用于检测一个字符串是或不是协作某些情势,假使字符串中包罗相当的文件,则赶回true,不然重临 false
//以下实例用于搜索字符串中的字符 "e":
var patt = /e/;patt.test("The best things in life are free!");
字符串中含有 "e",所以该实例输出为:
true

以上两行代码可以合并为一行:
/e/.test("The best things in life are free!")
  • exec() 方法
    exec() 方法用于检索字符串中的正则表达式的相配。
    该函数再次来到三个数组,个中贮存相配的结果。假诺未找到相称,则重回值为 null
    以下实例用于找寻字符串中的字母 e:
/e/.exec("The best things in life are free!");
字符串中含有 "e",所以该实例输出为:
e

比较常用的正是正则表达式的test措施了,因为大致只需求理解:某些字符串是或不是相称某正则表明式,是则True澳门新萄京官方网站JS正则表达式实用总结,函数判断变量是否为数字。,否则为False

1.推断域名:

语法:

四、字符串对象中与正则表明式有关的法门

在 JavaScript 中,正则表明式日常用于多个字符串方法 : search()replace()

  • search() 方法
    1. 找出与正则表明式相相配的子字符串,并重临子串的苗头地方。
//使用正则表达式搜索 "Runoob" 字符串,且不区分大小写:
var str = "Visit Runoob!"; 
var n = str.search(/Runoob/i);
//输出结果为:
6
  1. 用于检索字符串中内定的子字符串。
    search主意可利用字符串作为参数。字符串参数会转移为正则表明式:
//检索字符串中 "Runoob" 的子串:
var str = "Visit Runoob!"; 
var n = str.search("Runoob");
  • replace() 方法
    replace() 方法将收受字符串作为参数:
var str="Visit W3CSchool!";
var n=str.replace("W3CSchool","Runoob");
console.log(n);
//结果Visit Runoob!
console.log(str);
//结果Visit W3CSchool!
        /// <summary>
        /// 普通的域名
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsCommonDomain(string value)
        {
            return QuickValidate("^(www.)?(\w \.){1,3}(org|org.cn|gov.cn|com|cn|net|cc)$", value.ToLower());
        }

isNaN(x) x 必得。要检验的值。

五、常用语法深入分析

2.反省三个字符串是或不是是纯数字构成的,经常用于查询字符串参数的得力验证:

返回值:

5.1 ()、[]、{} 的区别

先看个例证
校验字符串是不是全由8位数字构成

function isStudentNo(str) {
    var reg=/^[0-9]{8}$/;   /*定义验证表达式*/
    return reg.test(str);     /*进行验证*/
}

[]是概念相称的字符范围。[0-9]意味着查找任何从 0 至 9 的数字。

{} 平常用来表示极其的长短。{8}代表位数为8位。

() 的作用是提取相称的字符串。表达式中有多少个()就能够收获多少个照望的匹配字符串。举例(s )表示三番五次空格的字符串。

        /// <summary>
        /// 检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。
        /// </summary>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool IsNumeric(string value)
        {
            return QuickValidate("^[-]?[1-9]*[0-9]*$", value);
        }

尽管 x 是独特的非数字值 NaN(恐怕能被改造为如此的值),再次来到的值正是true。如若 x 是其余值,则赶回 false。

5.2 ^ 和 $

^ 相配一个字符串的始发,举个例子 (^a) 就是格外以字母a澳门新萄京官方网站,起来的字符串

$ 相配三个字符串的末段,举例 (b$) 便是特别以字母b最后的字符串

^再有另个二个功力就是取反,譬喻[^xyz]表示非常的字符串不满含xyz

亟需小心的是:如果^出现在[]中日常代表取反,而产出在任哪个地区方则是相配字符串的开头。

3.反省二个字符串是还是不是是纯字母和数字构成的,常常用于查询字符串参数的有效性验证:

说明:

5.3 d s w .

d 相配贰个非负整数, 等价于 [0-9]

s 相称一个空白字符;

w 相称二个克罗地亚语字母或数字,等价于[0-9a-zA-Z]

. 相配除换行符以外的专断字符,等价于[^n]

        /// <summary>
        /// 检查一个字符串是否是纯字母和数字构成的,一般用于查询字符串参数的有效性验证。
        /// </summary>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool IsLetterOrNumber(string value)
        {
            return QuickValidate("^[a-zA-Z0-9_]*$", value);
        }

isNaN() 函数可用于判别其参数是或不是是 NaN,该值表示一个不法的数字(比方被 0 除后获得的结果)。
假使把 NaN 与任何值(包罗其自身)相比较取得的结果均是 false,所以要认清有些值是或不是是 NaN,无法动用 == 或 === 运算符。正因为那样,isNaN() 函数是不可缺少的。

5.4 * ?

*代表特别前面成分0次或频仍,譬如(s*)正是匹配0个或四个空格;

表示十二分前面成分1次或频仍,举例(d )就是般配由最少1个整数组成的字符串;

?表示卓越后边成分0次或1次,约等于{0,1},比如(w?) 正是相配最多由1个字母或数字构成的字符串 。

4.判断是还是不是是数字,蕴涵小数和整数:

您或者感兴趣的篇章:

  • 分析采取js判断只可以输入数字、字母等证实的主意(总计)
  • js剖断输入是还是不是为正整数、浮点数等数字的函数代码
  • javascript 正则 判断是还是不是是数字的本子
  • javaScript 剖断字符串是还是不是为数字的简练方法
  • js判别输入是不是中文,数字,居民身份证之类js函数群集
  • JavaScript基张永琛则表明式的数字剖断函数
  • js判定输入是不是为数字的现实性实例
  • js中剖断数字字母华语的正则表明式 (实例)
  • js判定是还是不是有6个接二连三数字的字符串的正则
  • 何以用JS决断多少个数字的轻重缓急

六、语法大全

修饰符
修饰符用于执行区分轻重缓急写和全局匹配:

修饰符 描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。

方括号
方括号用于查找某些范围内的字符:

表达式 描述
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
`[^adgk ]`

元字符
元字符(Metacharacter)是持有极其含义的字符:

元字符 描述
. 查找单个字符,除了换行和行结束符。
w 查找单词字符。
W 查找非单词字符。
d 查找数字。
D 查找非数字字符。
s 查找空白字符。
S 查找非空白字符。
b 匹配单词边界。
B 匹配非单词边界。
查找 NULL 字符。
n 查找换行符。
f 查找换页符。
r 查找回车符。
t 查找制表符。
v 查找垂直制表符。
xxx 查找以八进制数 xxx 规定的字符。
xdd 查找以十六进制数 dd 规定的字符。
uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

量词

量词 描述
n 匹配任何包含至少一个 n的字符串。例如,/a / 匹配 candy中的 acaaaaaaandy 中所有的a
n* 匹配任何包含零个或多个 n 的字符串。例如,/bo*/匹配 A ghost booooed 中的 booooA bird warbled 中的 b,但是不匹配 A goat grunted
n? 匹配任何包含零个或一个 n 的字符串。例如,/e?le?/ 匹配 angel 中的 elangle 中的 le
n{X} 匹配包含Xn的序列的字符串。例如,/a{2}/不匹配 candy, 中的 a,但是匹配 caandy, 中的两个 a,且匹配 caaandy. 中的前两个 a
n{X,} X 是一个正整数。前面的模式 n 连续出现至少X 次时匹配。例如,/a{2,}/不匹配 candy 中的 a,但是匹配 caandycaaaaaaandy. 中所有的 a
n{X,Y} XY 为正整数。前面的模式n 连续出现至少 X次,至多 Y次时匹配。例如,/a{1,3}/ 不匹配 cndy,匹配 candy, 中的 acaandy, 中的两个 a,匹配 caaaaaaandy 中的前面三个 a。注意,当匹配 caaaaaaandy 时,即使原始字符串拥有更多的 a,匹配项也是 aaa
n{X,} 匹配包含至少 Xn 的序列的字符串。
n$ 匹配任何结尾为 n的字符串。
^n 匹配任何开头为n的字符串。
?=n 匹配任何其后紧接指定字符串n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。
        /// <summary>
        /// 判断是否是数字,包括小数和整数。
        /// </summary>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool IsNumber(string value)
        {
            return QuickValidate("^(0|([1-9] [0-9]*))(.[0-9] )?$", value);
        }

七、11个常用的js正则表明式

  1. 在input框中只可以输入金额,其实正是不得不输入最多有两位小数的数字
//第一种在input输入框限制
 <input type="text" maxlength="8" class="form-control" id="amount" style="margin-right: 2px;" value="" onChange="count();" onkeyup="if (this.value==this.value2) return; if (this.value.search(/^d*(?:.d{0,2})?$/)==-1) this.value=(this.value2)?this.value2:'';else this.value2=this.value;">元
//第二种对于表单动态增加的方式,只能在js方法中验证。
 var amount=$("#amount").val();
 if (amount.search(/^d*(?:.d{0,2})?$/)==-1) {
   alert("金额格式不对,最多有两位小数");
   return false;
}
  1. 证实邮箱格式
var reg=/w ([- .]w )*@w ([-.]w )*.w ([-.]w )*/;
 var email=$("#email").val();
 if(!reg.test(email) ){
    alert("请输入符合规范的邮箱账号!");
    return false;
   }
  1. 密码选择数字、字母、特殊字符且长度为8-18位
function validatePwd(str) {
if (/^.*?[d] .*$/.test(str) && /^.*?[A-Za-z]/.test(str)
&& /^.*?[~/`!@#$%^&*()_ |{}?;:><-]\[/].*$/.test(str) && /^.{8,20}$/.test(str)) {
return true;
}
return false;
}
  1. 表明电话号码
/**
 * 验证电话号码
 * @param phoneValue 要验证的电话号码
 * @returns 匹配返回true 不匹配返回false
 */
function validatePhone(phoneValue) {
 phoneValue = valueTrim(phoneValue);
 var reg = /^[1][0-9]{10}$/;
 return reg.test(phoneValue);
}
  1. 认清是还是不是是汉字
/**
 * 判断是否是汉字
 *
 * @param charValue
 *   要验证的数据
 * @returns 匹配返回true 不匹配返回false
 */
function isCharacter(charValue) {
 var reg = /^[u4e00-u9fa5]{0,}$/;
 return reg.test(charValue);
}
  1. 是还是不是为字母:true:是,false:不是
function isChar(charValue){
 var charPattern=/^[a-zA-Z]*$/; //是否为字母
 result=charPattern.test(charValue);
 return result;
}
  1. 看清是不是为数字
function isNum(numValue){
 var numPattern=/^d*$/; //数字的正则表达式
 result=numPattern.test(numValue);
 return result;
}
  1. 板寸的正则表明式
function isInt(intValue){
  var intPattern=/^0$|^[1-9]d*$/; //整数的正则表达式
 result=intPattern.test(intValue);
  return result;
 }
  1. 是或不是为字母和数字
function isCharNum(flagValue){
 var flagPattern=/^[a-zA-Z0-9]*$/; //是否为字母和数字
 result=flagPattern.test(flagValue);
 return result;
}
  1. 侦察贰拾一位身份ID编号
/**
 * 检验18位身份证号码(15位号码可以只检测生日是否正确即可,自行解决)
 *
 * @param idCardValue
 *   18位身份证号
 * @returns 匹配返回true 不匹配返回false
 */
function idCardVildate(cid) {
var arrExp = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];// 加权因子
var arrValid = [ 1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2 ];// 校验码
var reg = /^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/;
if (reg.test(cid)) {
var sum = 0, idx;
for (var i = 0; i < cid.length - 1; i  ) {
// 对前17位数字与权值乘积求和
sum  = parseInt(cid.substr(i, 1), 10) * arrExp[i];
}
// 计算模(固定算法)
idx = sum % 11;
// 检验第18为是否与校验码相等
return arrValid[idx] == cid.substr(17, 1).toUpperCase();
} else {
return false;
}
}
  1. 表达16个人数居民身份证编号中的出生之日是不是是有效破壳日
function isValidityBrithBy15IdCard(idCard15) {
 var year = idCard15.substring(6, 8);
 var month = idCard15.substring(8, 10);
 var day = idCard15.substring(10, 12);
 var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
 // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法
 if (temp_date.getYear() != parseFloat(year)
   || temp_date.getMonth() != parseFloat(month) - 1
   || temp_date.getDate() != parseFloat(day)) {
  return false;
 } else {
  return true;
 }
}
  1. 表明二十个人数身份ID号码中的生日是还是不是是有效破壳日
function isValidityBrithBy18IdCard(idCard18) {
 var year = idCard18.substring(6, 10);
 var month = idCard18.substring(10, 12);
 var day = idCard18.substring(12, 14);
 var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
 // 这里用getFullYear()获取年份,避免千年虫问题
 if (temp_date.getFullYear() != parseFloat(year)
   || temp_date.getMonth() != parseFloat(month) - 1
   || temp_date.getDate() != parseFloat(day)) {
  return false;
 } else {
  return true;
 }
}

参谋资料:
JS中正则表明式概述
JS正则表明式常用计算
十个常用的js正则表达式
JavaScript RegExp 对象

5.高效验证三个字符串是还是不是顺应钦定的正则表明式:

        /// <summary>
        /// 快速验证一个字符串是否符合指定的正则表达式。
        /// </summary>
        /// <param name="express">正则表达式的内容。</param>
        /// <param name="value">需验证的字符串。</param>
        /// <returns>是否合法的bool值。</returns>
        public static bool QuickValidate(string express, string value)
        {
            var myRegex = new System.Text.RegularExpressions.Regex(express);
            return value.Length != 0 && myRegex.IsMatch(value);
        }

6.论断三个字符串是不是为邮件:

        /// <summary>
        /// 判断一个字符串是否为邮件
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsEmail(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^w ([- .]w )*@(w ([-.]w )*.) ([a-zA-Z] ) $", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

7.决断叁个字符串是还是不是为邮政编码:

        /// <summary>
        /// 判断一个字符串是否为邮编
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsZipCode(string value)
        {
            return QuickValidate("^([0-9]{6})$", value);
        }

8.判别三个字符串是或不是为ID格式:

        /// <summary>
        /// 判断一个字符串是否为ID格式
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsIdCard(string value)
        {
            System.Text.RegularExpressions.Regex regex;
            string[] strArray;
            if ((value.Length != 15) && (value.Length != 0x12))
            {
                return false;
            }
            if (value.Length == 15)
            {
                regex = new System.Text.RegularExpressions.Regex(@"^(d{6})(d{2})(d{2})(d{2})(d{3})$");
                if (!regex.Match(value).Success)
                {
                    return false;
                }
                strArray = regex.Split(value);
                try
                {
                    var dateTime = new DateTime(int.Parse("19"   strArray[2]), int.Parse(strArray[3]), int.Parse(strArray[4]));
                    return true;
                }
                catch
                {
                    return false;
                }
            }
            regex = new System.Text.RegularExpressions.Regex(@"^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9Xx])$");
            if (!regex.Match(value).Success)
            {
                return false;
            }
            strArray = regex.Split(value);
            try
            {
                var dateTime = new DateTime(int.Parse(strArray[2]), int.Parse(strArray[3]), int.Parse(strArray[4]));
                return true;
            }
            catch
            {
                return false;
            }
        }

9.推断是否纯汉语:

        /// <summary>
        /// 判断是不是纯中文
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsChinese(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^[u4E00-u9FA5uF900-uFA2D] $", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

10.料定一个字符串是还是不是为手提式有线电话机号码:

        /// <summary>
        /// 判断一个字符串是否为手机号码
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsMobileNum(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^(13|15)d{9}$", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

11.论断一个字符串是或不是为电话号码:

        /// <summary>
        /// 判断一个字符串是否为电话号码
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsPhoneNum(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^(86)?(-)?(0d{2,3})?(-)?(d{7,8})(-)?(d{3,5})?$", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

12.确定叁个字符串是或不是为网址:

        /// <summary>
        /// 判断一个字符串是否为网址
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsUrl(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"(http://)?([w-] .)*[w-] (/[w- ./?%&=]*)?", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

13.判别贰个字符串是或不是为IP地址:

        /// <summary>
        /// 判断一个字符串是否为IP地址
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsIp(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex(@"^(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1})).(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1})).(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1})).(((2[0-4]{1}[0-9]{1})|(25[0-5]{1}))|(1[0-9]{2})|([1-9]{1}[0-9]{1})|([0-9]{1}))$", RegexOptions.IgnoreCase);
            return regex.Match(value).Success;
        }

14.论断一个字符串是还是不是为字母加数字:

       /// <summary>
        /// 判断一个字符串是否为字母加数字
        /// Regex("[a-zA-Z0-9]?"
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool IsWordAndNum(string value)
        {
            var regex = new System.Text.RegularExpressions.Regex("[a-zA-Z0-9]?");
            return regex.Match(value).Success;
        }

       以上的印证措施应用方法封装,在骨子里的项目中,能够将具有的秘诀封装在类中,方法都定义为静态方法,在品种中可径直调用在那之中的认证措施,能够十分的大的晋级项指标付出速度。

本文由澳门新萄京官方网站发布于www.8455.com,转载请注明出处:澳门新萄京官方网站JS正则表达式实用总结,函数

关键词:

  • 上一篇:没有了
  • 下一篇:没有了