C#正则表达式 – 精通版

 

463.com,pattern:
要匹配的正则表达式模式。

 注:match()
方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似
indexOf() 和
lastIndexOf(),但是它返回指定的值(存放匹配结果的数组),而不是字符串的位置。

参数:
input:
要搜索匹配项的字符串。

 1 <script type="text/javascript">
 2 
 3   function checkFileExt(ext) {
 4     if (!ext.match(/.jpg|.gif|.png|.bmp/i)) {//匹配以.jpg或.GIF或....结尾的任意字符串,大写或小写无所谓
 5       return false;
 6       }
 7     return true;
 8   }
 9 
10    function toVaild(){
11 
12     var imagesfile = document.getElementById("imagesfile").value;
13 
14     if(imagesfile!=null&&imagesfile.replace(/(^\s*)|(\s*$)/g, "")!=""&&imagesfile!=undefined){ 
15       var img = document.getElementById("imagesfile");
16       var filePath = img.value;
17       var fileExt = filePath.substring(filePath.lastIndexOf("."))
18         .toLowerCase();//将所有的英文字符转换为小写字母
19       var sizeint=0;
20       if (!checkFileExt(fileExt)) {
21         alert("您上传的文件不是图片,请重新上传!");
22         return false;
23       }
24       if (img.files && img.files[0]) {
25         sizeint=(img.files[0].size / 1024).toFixed(0);
26         //alert('你选择的文件大小' + (img.files[0].size / 1024).toFixed(0) + "kb");
27       } else {
28         img.select();
29         var url = document.selection.createRange().text;
30         try {
31           var fso = new ActiveXObject("Scripting.FileSystemObject");
32           } catch (e) {
33             alert('如果你用的是ie8以下 请将安全级别调低!');
34           }
35         sizeint=(fso.GetFile(url).size / 1024).toFixed(0);
36         //alert("文件大小为:" + (fso.GetFile(url).size / 1024).toFixed(0) + "kb");
37       }
38       if(sizeint>5120){
39         alert("抱歉 您所上传的图片大于5M 请选择低于5M的图片上传")
40         return false;
41       }
42     }
43 </script>

1 <form action="" method="post" enctype="multipart/form-data" onsubmit="return toVaild()">
2 <input type="file" id="imagesfile" name="imagesfile" placeholder="">
3 
4 <center><button type="submit" class="am-btn am-btn-danger">提交</button>  </center>
5 
6 </form>

1、正则所需要的命名空间是

目的:在提交表单之前用JavaScript检查下是不是图片文件以及大小

using System.Text.RegularExpressions

options:
枚举值的一个按位组合,这些枚举值提供匹配选项。

实例一:提取字符串中所有的数字

5、获取

2、创建Regex对象

参数:
input:
要搜索匹配项的字符串。
pattern:
要匹配的正则表达式模式。
options:
枚举值的一个按位组合,这些枚举值提供匹配选项。

new Regex(string pattern,RegexOptions options)

摘要:在指定的输入字符串内,使用指定的替换字符串替换与指定正则表达式匹配的所有字符串

Replace(string input, string pattern, string replacement, RegexOptions options)

3、匹配
摘要:
指示所指定的正则表达式是否使用指定的匹配选项在指定的输入字符串中找到了匹配项。

string str = Regex.Replace("AbC123", "[a-z]", string.Empty, RegexOptions.IgnoreCase);
Response.Write(str); 结果:123

选项(options)注释
None:指定不设置任何选项
IgnoreCase:指定不区分大小写的匹配 。
Multiline:多行模式。 更改 ^ 和 $
的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配
ExplicitCapture:指定唯一有效的捕获是显式命名或编号的 (?<name>…)
形式的组
Compiled:指定将正则表达式编译为程序集
Singleline:指定单行模式。 更改点 (.) 的含义,以使它与每个字符(而不是除
\n 之外的所有字符)匹配
IgnorePatternWhitespace:消除模式中的非转义空白并启用由 # 标记的注释
RightToLeft:指定搜索从右向左而不是从左向右进行
ECMAScript:为表达式启用符合 ECMAScript 的行为
CultureInvariant:指定忽略语言中的区域性差异

语法:

参数:
input:
要搜索匹配项的字符串。
pattern:
要匹配的正则表达式模式。
replacement:
替换字符串。
options:
枚举值的一个按位组合,这些枚举值提供匹配选项。如:RegexOptions.IgnoreCase,指定不区分大小写的匹配

Matches(string input, string pattern, RegexOptions options)
bool bl = Regex.IsMatch("AbC123", @"\d+");
Response.Write(bl); 结果:True

相关文章