- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章JS基础教程——正则表达式示例(推荐)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
正则表达式的() [] {}有不同的意思.
() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串.
(\s*)表示连续空格的字符串.
[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号.
{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格.
(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误.
[0-9]{0,9} 表示长度为 0 到 9 的数字字符串.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
// 清除两边的空格 JS中需要自己写正则,JQ中可直接调用$.trim(str)去除字符串前后空格
String.prototype.trim =
function
() {
return
this
.replace(/(^\s*)|(\s*$)/g,
''
);
};
// 合并多个空白为一个空白
String.prototype.ResetBlank =
function
() {
var
regEx = /\s+/g;
return
this
.replace(regEx,
' '
);
};
// 保留数字
String.prototype.GetNum =
function
() {
var
regEx = /[^\d]/g;
return
this
.replace(regEx,
''
);
};
// 保留中文
String.prototype.GetCN =
function
() {
var
regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;
return
this
.replace(regEx,
''
);
};
// String转化为Number
String.prototype.ToInt =
function
() {
return
isNaN(parseInt(
this
)) ?
this
.toString() : parseInt(
this
);
};
// 得到字节长度
String.prototype.GetLen =
function
() {
var
regEx = /^[\u4e00-\u9fa5\uf900-\ufa2d]+$/;
if
(regEx.test(
this
)) {
return
this
.length * 2;
}
else
{
var
oMatches =
this
.match(/[\x00-\xff]/g);
var
oLength =
this
.length * 2 - oMatches.length;
return
oLength;
}
};
// 获取文件全名
String.prototype.GetFileName =
function
() {
var
regEx = /^.*\/([^\/\?]*).*$/;
return
this
.replace(regEx,
'$1'
);
};
// 获取文件扩展名
String.prototype.GetExtensionName =
function
() {
var
regEx = /^.*\/[^\/]*(\.[^\.\?]*).*$/;
return
this
.replace(regEx,
'$1'
);
};
//替换所有
String.prototype.replaceAll =
function
(reallyDo, replaceWith, ignoreCase) {
if
(!RegExp.prototype.isPrototypeOf(reallyDo)) {
return
this
.replace(
new
RegExp(reallyDo, (ignoreCase ?
"gi"
:
"g"
)), replaceWith);
}
else
{
return
this
.replace(reallyDo, replaceWith);
}
};
//格式化字符串 add By 刘景宁 2010-12-09
String.Format =
function
() {
if
(arguments.length == 0) {
return
''
;
}
if
(arguments.length == 1) {
return
arguments[0];
}
var
reg = /{(\d+)?}/g;
var
args = arguments;
var
result = arguments[0].replace(reg,
function
($0, $1) {
return
args[parseInt($1) + 1];
});
return
result;
};
// 数字补零
Number.prototype.LenWithZero =
function
(oCount) {
var
strText =
this
.toString();
while
(strText.length < oCount) {
strText =
'0'
+ strText;
}
return
strText;
};
// Unicode还原
Number.prototype.ChrW =
function
() {
return
String.fromCharCode(
this
);
};
// 数字数组由小到大排序
Array.prototype.Min2Max =
function
() {
var
oValue;
for
(
var
i = 0; i <
this
.length; i++) {
for
(
var
j = 0; j <= i; j++) {
if
(
this
[i] <
this
[j]) {
oValue =
this
[i];
this
[i] =
this
[j];
this
[j] = oValue;
}
}
}
return
this
;
};
// 数字数组由大到小排序
Array.prototype.Max2Min =
function
() {
var
oValue;
for
(
var
i = 0; i <
this
.length; i++) {
for
(
var
j = 0; j <= i; j++) {
if
(
this
[i] >
this
[j]) {
oValue =
this
[i];
this
[i] =
this
[j];
this
[j] = oValue;
}
}
}
return
this
;
};
// 获得数字数组中最大项
Array.prototype.GetMax =
function
() {
var
oValue = 0;
for
(
var
i = 0; i <
this
.length; i++) {
if
(
this
[i] > oValue) {
oValue =
this
[i];
}
}
return
oValue;
};
// 获得数字数组中最小项
Array.prototype.GetMin =
function
() {
var
oValue = 0;
for
(
var
i = 0; i <
this
.length; i++) {
if
(
this
[i] < oValue) {
oValue =
this
[i];
}
}
return
oValue;
};
// 获取当前时间的中文形式
Date.prototype.GetCNDate =
function
() {
var
oDateText =
''
;
oDateText +=
this
.getFullYear().LenWithZero(4) +
new
Number(24180).ChrW();
oDateText +=
this
.getMonth().LenWithZero(2) +
new
Number(26376).ChrW();
oDateText +=
this
.getDate().LenWithZero(2) +
new
Number(26085).ChrW();
oDateText +=
this
.getHours().LenWithZero(2) +
new
Number(26102).ChrW();
oDateText +=
this
.getMinutes().LenWithZero(2) +
new
Number(20998).ChrW();
oDateText +=
this
.getSeconds().LenWithZero(2) +
new
Number(31186).ChrW();
oDateText +=
new
Number(32).ChrW() +
new
Number(32).ChrW() +
new
Number(26143).ChrW() +
new
Number(26399).ChrW() +
new
String(
'26085199682010819977222352011620845'
).substr(
this
.getDay() * 5, 5).ToInt().ChrW();
return
oDateText;
};
//扩展Date格式化
Date.prototype.Format =
function
(format) {
var
o = {
"M+"
:
this
.getMonth() + 1,
//月份
"d+"
:
this
.getDate(),
//日
"h+"
:
this
.getHours() % 12 == 0 ? 12 :
this
.getHours() % 12,
//小时
"H+"
:
this
.getHours(),
//小时
"m+"
:
this
.getMinutes(),
//分
"s+"
:
this
.getSeconds(),
//秒
"q+"
: Math.floor((
this
.getMonth() + 3) / 3),
//季度
"S"
:
this
.getMilliseconds()
//毫秒
};
var
week = {
"0"
:
"\u65e5"
,
"1"
:
"\u4e00"
,
"2"
:
"\u4e8c"
,
"3"
:
"\u4e09"
,
"4"
:
"\u56db"
,
"5"
:
"\u4e94"
,
"6"
:
"\u516d"
};
if
(/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (
this
.getFullYear() +
""
).substr(4 - RegExp.$1.length));
}
if
(/(E+)/.test(format)) {
format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ?
"\u661f\u671f"
:
"\u5468"
) :
""
) + week[
this
.getDay() +
""
]);
}
for
(
var
k
in
o) {
if
(
new
RegExp(
"("
+ k +
")"
).test(format)) {
format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : ((
"00"
+ o[k]).substr((
""
+ o[k]).length)));
}
}
return
format;
}
Date.prototype.Diff =
function
(interval, objDate) {
//若参数不足或 objDate 不是日期类型則回传 undefined
if
(arguments.length < 2 || objDate.constructor != Date) {
return
undefined; }
switch
(interval) {
//计算秒差
case
's'
:
return
parseInt((objDate -
this
) / 1000);
//计算分差
case
'n'
:
return
parseInt((objDate -
this
) / 60000);
//计算時差
case
'h'
:
return
parseInt((objDate -
this
) / 3600000);
//计算日差
case
'd'
:
return
parseInt((objDate -
this
) / 86400000);
//计算周差
case
'w'
:
return
parseInt((objDate -
this
) / (86400000 * 7));
//计算月差
case
'm'
:
return
(objDate.getMonth() + 1) + ((objDate.getFullYear() -
this
.getFullYear()) * 12) - (
this
.getMonth() + 1);
//计算年差
case
'y'
:
return
objDate.getFullYear() -
this
.getFullYear();
//输入有误
default
:
return
undefined;
}
};
//检测是否为空
Object.prototype.IsNullOrEmpty =
function
() {
var
obj =
this
;
var
flag =
false
;
if
(obj ==
null
|| obj == undefined ||
typeof
(obj) ==
'undefined'
|| obj ==
''
) {
flag =
true
;
}
else
if
(
typeof
(obj) ==
'string'
) {
obj = obj.trim();
if
(obj ==
''
) {
//为空
flag =
true
;
}
else
{
//不为空
obj = obj.toUpperCase();
if
(obj ==
'NULL'
|| obj ==
'UNDEFINED'
|| obj ==
'{}'
) {
flag =
true
;
}
}
}
else
{
flag =
false
;
}
return
flag;
|
以上所述是小编给大家介绍的JS基础教程——正则表达式示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。
原文链接:http://www.cnblogs.com/punmpking/p/6252022.html 。
最后此篇关于JS基础教程——正则表达式示例(推荐)的文章就讲到这里了,如果你想了解更多关于JS基础教程——正则表达式示例(推荐)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
vue3 快速入门系列 - 基础 前面我们已经用 vue2 和 react 做过开发了。 从 vue2 升级到 vue3 成本较大,特别是较大的项目。所以许多公司对旧项目继续使用vue2,新项目则
C# 基础 C#项目创建 这里注意win10虚拟机需要更新下补丁,不然直接下载visual studio 2022会显示版本不支持 HelloWorld C#的类文件都是以.cs结尾,入口方法为sta
关于 iPhone 内存管理的非常基本的问题: 假设我有一个 viewController,其中有几个 subview 也由 viewController 控制。当我删除顶部 viewControll
我仍在努力适应指针。不是概念——我理解内存位置、匹配可变长度的指针增量等——这是语法。这是一个我认为是我感到困惑/无法直观把握的原因之一: int a = 42; 在一个int大小的内存空间中分配并放
1. 简介 Kafka(Apache Kafka) 是一种分布式流数据平台,最初由LinkedIn开发,并于后来捐赠给Apache软件基金会,成为了一个Apache顶级项目。它被设计用于处理大规
1.想要在命令提示符下操作mysql服务器,添加系统变量。(计算机-系统属性——环境变量——path) 2.查询数据表中的数据; select selection_lis
MySQL表的增删改查(基础) 1. CRUD 注释:在SQL中可以使用“–空格+描述”来表示注释说明 CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Dele
我有一个网页,可以在加载时打开显示模式,在这个模式中,我有一个可以打开第二个模式的链接。当第二个模式关闭时(通过单击关闭按钮或单击模式外部),我想重新打开第一个模式。 对于关闭按钮,我可以通过向具有
使用 Core Data Fetched Properties,我如何执行这个简单的请求: 我希望获取的属性 ( myFetchProp ) 存储 StoreA ,它应该这样做: [myFetchPr
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 8年前关闭。 Improve this
最近,我得到了一个现有的Drupal项目,并被要求改进前端(HTML,JavaScript,CSS)。我在Django,PHP,Ruby等方面具有大量的前端和后端开发经验,但是我没有任何Drupal经
我试图让我的用户通过使用扫描仪类来决定要做什么,但我有一个问题,代码一旦运行就不会激活,并且它不会让我跳过任何行。我的代码如下所示: Scanner input = new Scanner(S
对模糊的标题表示歉意,因为我想不出这个名字是什么。 基本上创建一个计算学生财务付款的小程序。当我运行它时,它计算对象限额没有问题。然而,无论我尝试什么,对象“助学金”似乎除了 0 之外什么也没有提出。
这是我的代码 - main() { double x; double y = pow(((1/3 + sin(x/2))(pow(x, 3) + 3)), 1/3); prin
如果我的术语在这个问题上有误,我们深表歉意。 采取以下功能: i = 1; v = i * 2; for (j = 0; j < 4; j++ ) { console.log(v);
我的应用程序中有不同的类文件。我有 5 个类,其中 2 个是 Activity ,1 个是运行的服务。其他 2 个只是类。这两个类中变量的生命周期是多少。我知道一个 Activity 可以被操作系统杀
例如,一个方法返回一个 List 类型的对象。 public List bojangles () ... 一些代码调用方法FooBar.bojangles.iterator(); 我是 Java 的新
我遇到了一个奇怪的问题,网格的大小不适合我的屏幕。当我使用 12 列大时,它只占据屏幕的 1/3 的中间,请参见图像。我不确定是什么导致了这个问题。我没有任何会导致这种情况发生的奇怪 CSS。我不会在
我尝试使用头文件和源文件,但遇到了问题。因此,我对我正在尝试做的事情做了一个简化版本,我在 CodeBlocks 中遇到了同样的错误(undefined reference to add(double
我正在为我的网格系统使用基础,但这在任何网格系统中都可能是一个问题。我基本上用一个容器包裹了 3 个单元格,但其中一个单元格应该长到页面边框(留在我的 Sampe-Image 中)但这也可能在右侧)。
我是一名优秀的程序员,十分优秀!