提交图片校检分分快三计划

作者:分分快三计划

 

2、创建Regex对象

第二步:调用RegExp对象中的方法

RegExp对象给我们提供了三种方法供我们使用,分别是test()、exec()和compile()。

1.test()
检索字符串中指定的值。返回true或false。这个是我们平时最常用的方法。

 var reg=/hello w{3,12}/;
 alert(reg.test('hello js'));//false
 alert(reg.test('hello javascript'));//true

2.exec()
检索字符串中指定的值。匹配成功返回一个数组,匹配失败返回null。

var reg=/hello/;
console.log(reg.exec('hellojs'));//['hello']
console.log(reg.exec('javascript'));//null

3.compile()
compile()方法用于改变RegExp。compile()既可以改变检索模式,也可以添加或删除第二个参数。

var reg=/hello/;
console.log(reg.exec('hellojs'));//['hello']
reg.compile('Hello');
console.log(reg.exec('hellojs'));//null
reg.compile('Hello','i');
console.log(reg.exec('hellojs'));//['hello']

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

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

第一步:定义一个正则表达式

定义正则表达式有两种方法,第一种通过"/正则表达式/修饰符"这种形式直接写出来,第二种通过“new RegExp('正则表达式','修饰符)'”创建一个RegExp对象。其中修饰符为可选项,有三个取值g:全局匹配;i:不区分大小写;m:多行匹配

//第一种“/正则表达式/”
    var reg1=/hello w{3,12}/g;
//第二种new RegExp('正则表达式')
    var reg2=new RegExp("hello \w{3,12}",'g');
 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>
StringBuilder str = new StringBuilder();
foreach (Match m in Regex.Matches("1 2-3", @"(d )"))
{
str.Append(m.Groups[0].Value);
}
Response.Write(str.ToString()); //结果:123

方式二,实例方法
StringBuilder str = new StringBuilder();
Regex reg = new Regex(@"d ", RegexOptions.IgnoreCase);
MatchCollection matchs = reg.Matches("1 2-3");
foreach (Match item in matchs)
{
str.Append(item.Value);
}
Response.Write(str.ToString()); //结果:123

正则表达式拓展

除了RegExp对象提供方法之外,String对象也提供了四个方法来使用正则表达式。

1.match()
在字符串内检索指定的值,匹配成功返回存放匹配结果的数组,否则返回null。这里需要注意的一点事,如果没有设置全局匹配g,返回的数组只存第一个成功匹配的值。

var reg1=/javascript/i;
var reg2=/javascript/ig;
console.log('hello Javascript Javascript Javascript'.match(reg1));
//['Javascript']
console.log('hello Javascript Javascript Javascript'.match(reg2));
//['Javascript','Javascript','Javascript']

2.search()
在字符串内检索指定的值,匹配成功返回第一个匹配成功的字符串片段开始的位置,否则返回-1。

var reg=/javascript/i;
console.log('hello Javascript Javascript Javascript'.search(reg));//6

3.replace()
替换与正则表达式匹配的子串,并返回替换后的字符串。在不设置全局匹配g的时候,只替换第一个匹配成功的字符串片段。

var reg1=/javascript/i;
var reg2=/javascript/ig;
console.log('hello Javascript Javascript Javascript'.replace(reg1,'js'));
//hello js Javascript Javascript
console.log('hello Javascript Javascript Javascript'.replace(reg2,'js'));
//hello js js js

4.split()
把一个字符串分割成字符串数组。

var reg=/1[2,3]8/;
console.log('hello128Javascript138Javascript178Javascript'.split(reg));
//['hello','Javascript','Javascript178Javascript']

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

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

语法:

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

实例:字符串中所有字母替换为空(string.Empty)
方式一,静态方法

方式二,实例方法

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

using System.Text.RegularExpressions

  

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

摘要:
使用指定的匹配选项和超时间隔在指定的输入字符串中搜索指定的正则表达式的所有匹配项

IsMatch(string input, string pattern, RegexOptions options)

语法:

Regex reg = new Regex(@"d ");
Match match = reg.Match("1 2-3");
StringBuilder str = new StringBuilder();
while (match.Success)
{
str.Append(match.Value);
//从匹配结果的位置创建新的Match对象
match = match.NextMatch();
}
Response.Write(str.ToString()); //结果:123

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

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

4、替换

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

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

实例:字符串中是否包含数字
方式一,静态方法

方法:
NextMatch 返回下一个成功匹配的match对象
Result
Value 返回匹配的字符串
Length 匹配的长度
Index 第一个匹配内容在字符串中的起始位置
Groups 返回一个分组对象集合
Success 根据是否匹配成功返回ture or false

语法:

pattern:
要匹配的正则表达式模式。

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

5、获取

摘要:
使用指定的匹配选项和超时间隔在输入字符串中搜索指定的正则表达式的第一个匹配项

语法:

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

方式二,实例方法

new Regex(string pattern,RegexOptions options)

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

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

实例二:提取字符串中所有的数字
方式一,静态方法

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 ASP.NET mysql性能优化