JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器三多参数获取进阶引用篇

JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇


前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例、多参数获取,相应博文敬请参阅 简单实例、多参数获取。

此文主要讲述如何引用正则表达式提取器获取的数据信息。其实,正则表达式提取器获取的数据,均可看做一个变量(单个数据,此处指所需获取的测试相关数据)或数组(多个数据),通过引用变量或者数组的数据,达到应用其数据的目的。下面针对此两种方式进行介绍。

第一种:单数据变量

但数据变量的应用比较简单,同我们日常 shell 脚本引用变量相同,引用样式:引用名称。例如要引用下图中的变量,引用方式为: 引用名称。例如要引用下图中的变量,引用方式为:{price}。




第二种:多数据变量(数组)

多数据变量(数组)的提取器配置如下图所示:


通过调试工具 DPP,我们可以获取上述 goodInfo 的相关信息如下所示:

goodInfo=2142670,101-006-72936,628800

goodInfo_g=5

goodInfo_g0=sysNo":"2142670","skuid":"487623639432","productID":"101-006-72936","productTitle":"苹果(Apple)iPhone 6 Plus (A1593) 64GB 银色 移动4G手机","price":"628800","

goodInfo_g1=2142670

goodInfo_g2=","

goodInfo_g3=101-006-72936

goodInfo_g4=productTitle":"苹果(Apple)iPhone 6 Plus (A1593) 64GB 银色 移动4G手机

goodInfo_g5=628800


通过上述信息,结合正则表达式提取器的配置信息,我们可以很容易的看出,配置中模板 1 1 中的数字,对应上述信息中的不同数据。例如:若模板为 0 0,则最终的数据为上述第三行等号后的数据;若模板为 3 3,则最终数据为 101-006-72936。上述提取器的模板为: 1 1,3 3,5 5,最终的数据为 2142670,628800。那么若是想要获取 101-006-72936,改怎么引用呢?相信聪明的你已经在上述信息中发现了,对了,实际应用的表达式为 : ${goodInfo_g3}。

下面就以获取商品编号,并通过商品编号搜索商品,同时通过 商品系统编号、商品价格 验证搜索结果是否正确(商品搜索的 HTTP请求 获取请小主自行获取,谢谢!),依据下图所示,将搜索请求中的关键字参数化为上步 HTTP请求中的 商品编号。


最终脚本执行结果如下所示(断言请小主自行仿照配置):




附录(一):

1 <?xml version="1.0" encoding="UTF-8"?>
2 <jmeterTestPlan version="1.2" properties="2.7" jmeter="2.12 r1636949">
3 <hashTree>
4 <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="接口自动化测试用例 - 非登录态" enabled="true">
5 <stringProp name="TestPlan.comments"></stringProp>
6 <boolProp name="TestPlan.functional_mode">false</boolProp>
7 <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
8 <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
9 <collectionProp name="Arguments.arguments"/>
10 </elementProp>
11 <stringProp name="TestPlan.user_define_classpath"></stringProp>
12 </TestPlan>
13 <hashTree>
14 <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="001-类目搜索验证" enabled="true">
15 <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
16 <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">
17 <boolProp name="LoopController.continue_forever">false</boolProp>
18 <stringProp name="LoopController.loops">1</stringProp>
19 </elementProp>
20 <stringProp name="ThreadGroup.num_threads">1</stringProp>
21 <stringProp name="ThreadGroup.ramp_time">1</stringProp>
22 <longProp name="ThreadGroup.start_time">1419564228000</longProp>
23 <longProp name="ThreadGroup.end_time">1419564228000</longProp>
24 <boolProp name="ThreadGroup.scheduler">false</boolProp>
25 <stringProp name="ThreadGroup.duration"></stringProp>
26 <stringProp name="ThreadGroup.delay"></stringProp>
27 </ThreadGroup>
28 <hashTree>
29 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="手机数码-手机通讯-苹果" enabled="true">
30 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
31 <collectionProp name="Arguments.arguments">
32 <elementProp name="districtId" elementType="HTTPArgument">
33 <boolProp name="HTTPArgument.always_encode">false</boolProp>
34 <stringProp name="Argument.name">districtId</stringProp>
35 <stringProp name="Argument.value">29357</stringProp>
36 <stringProp name="Argument.metadata">=</stringProp>
37 <boolProp name="HTTPArgument.use_equals">true</boolProp>
38 </elementProp>
39 <elementProp name="exAppTag" elementType="HTTPArgument">
40 <boolProp name="HTTPArgument.always_encode">false</boolProp>
41 <stringProp name="Argument.name">exAppTag</stringProp>
42 <stringProp name="Argument.value">2045191607</stringProp>
43 <stringProp name="Argument.metadata">=</stringProp>
44 <boolProp name="HTTPArgument.use_equals">true</boolProp>
45 </elementProp>
46 </collectionProp>
47 </elementProp>
48 <stringProp name="HTTPSampler.domain">mb.51buy.com</stringProp>
49 <stringProp name="HTTPSampler.port"></stringProp>
50 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
51 <stringProp name="HTTPSampler.response_timeout"></stringProp>
52 <stringProp name="HTTPSampler.protocol">http</stringProp>
53 <stringProp name="HTTPSampler.contentEncoding">GB2312</stringProp>
54 <stringProp name="HTTPSampler.path">/json.php?mod=Search&amp;act=page&amp;p=1&amp;path=706188t706189&amp;districtId=29357&amp;areacode=1&amp;dtype=list%7Cpage%7Cclasses&amp;appSource=android&amp;appVersion=45</stringProp>
55 <stringProp name="HTTPSampler.method">POST</stringProp>
56 <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
57 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
58 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
59 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
60 <boolProp name="HTTPSampler.monitor">false</boolProp>
61 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
62 </HTTPSamplerProxy>
63 <hashTree>
64 <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP信息头管理器" enabled="true">
65 <collectionProp name="HeaderManager.headers">
66 <elementProp name="Charset" elementType="Header">
67 <stringProp name="Header.name">Charset</stringProp>
68 <stringProp name="Header.value">UTF-8</stringProp>
69 </elementProp>
70 <elementProp name="Content-Type" elementType="Header">
71 <stringProp name="Header.name">Content-Type</stringProp>
72 <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
73 </elementProp>
74 <elementProp name="Accept-Encoding" elementType="Header">
75 <stringProp name="Header.name">Accept-Encoding</stringProp>
76 <stringProp name="Header.value">gzip</stringProp>
77 </elementProp>
78 <elementProp name="User-Agent" elementType="Header">
79 <stringProp name="Header.name">User-Agent</stringProp>
80 <stringProp name="Header.value">Dalvik/1.6.0 (Linux; U; Android 4.4.2; GT-I9502 Build/KOT49H)</stringProp>
81 </elementProp>
82 </collectionProp>
83 </HeaderManager>
84 <hashTree/>
85 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="01 - 判断类目搜索结果状态码" enabled="true">
86 <collectionProp name="Asserion.test_strings">
87 <stringProp name="71131476">&quot;errno&quot;:0</stringProp>
88 </collectionProp>
89 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
90 <boolProp name="Assertion.assume_success">false</boolProp>
91 <intProp name="Assertion.test_type">2</intProp>
92 </ResponseAssertion>
93 <hashTree/>
94 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="正则表达式提取器 - 获取商品列表中商品的系统编号" enabled="true">
95 <stringProp name="RegexExtractor.useHeaders">false</stringProp>
96 <stringProp name="RegexExtractor.refname">sysNo</stringProp>
97 <stringProp name="RegexExtractor.regex">&quot;sysNo&quot;:&quot;(.+?)&quot;,&quot;</stringProp>
98 <stringProp name="RegexExtractor.template">$1$</stringProp>
99 <stringProp name="RegexExtractor.default">ERROR</stringProp>
100 <stringProp name="RegexExtractor.match_number">2</stringProp>
101 </RegexExtractor>
102 <hashTree/>
103 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="正则表达式提取器 - 获取商品列表中商品的销售价格" enabled="true">
104 <stringProp name="RegexExtractor.useHeaders">false</stringProp>
105 <stringProp name="RegexExtractor.refname">price</stringProp>
106 <stringProp name="RegexExtractor.regex">&quot;price&quot;:&quot;(.+?)&quot;,&quot;activePrice</stringProp>
107 <stringProp name="RegexExtractor.template">$1$</stringProp>
108 <stringProp name="RegexExtractor.default">ERROR</stringProp>
109 <stringProp name="RegexExtractor.match_number">3</stringProp>
110 </RegexExtractor>
111 <hashTree/>
112 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="正则表达式提取器 - 多匹配项处理之一 - 获取单个匹配项" enabled="true">
113 <stringProp name="RegexExtractor.useHeaders">false</stringProp>
114 <stringProp name="RegexExtractor.refname">single_sysNo</stringProp>
115 <stringProp name="RegexExtractor.regex">sysNo&quot;:&quot;([0-9]{2,8}).+?price&quot;:&quot;(.+?)&quot;,&quot;</stringProp>
116 <stringProp name="RegexExtractor.template">$1$</stringProp>
117 <stringProp name="RegexExtractor.default">ERROR</stringProp>
118 <stringProp name="RegexExtractor.match_number">2</stringProp>
119 </RegexExtractor>
120 <hashTree/>
121 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="正则表达式提取器 - 多匹配项处理之二 - 获取单个匹配项" enabled="true">
122 <stringProp name="RegexExtractor.useHeaders">false</stringProp>
123 <stringProp name="RegexExtractor.refname">single_price</stringProp>
124 <stringProp name="RegexExtractor.regex">sysNo&quot;:&quot;([0-9]{2,&quot;</stringProp>
125 <stringProp name="RegexExtractor.template">$2$</stringProp>
126 <stringProp name="RegexExtractor.default">ERROR</stringProp>
127 <stringProp name="RegexExtractor.match_number">2</stringProp>
128 </RegexExtractor>
129 <hashTree/>
130 <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="正则表达式提取器 - 多匹配项处理之三 - 获取多个匹配项" enabled="true">
131 <stringProp name="RegexExtractor.useHeaders">false</stringProp>
132 <stringProp name="RegexExtractor.refname">goodInfo</stringProp>
133 <stringProp name="RegexExtractor.regex">sysNo&quot;:&quot;([0-9]{2,8})(.+?)productID&quot;:&quot;(.+?)&quot;,&quot;(.+?)&quot;,&quot;price&quot;:&quot;(.+?)&quot;,&quot;</stringProp>
134 <stringProp name="RegexExtractor.template">$1$,$3$,$5$</stringProp>
135 <stringProp name="RegexExtractor.default">ERROR,ERROR,ERROR</stringProp>
136 <stringProp name="RegexExtractor.match_number">3,3,3</stringProp>
137 </RegexExtractor>
138 <hashTree/>
139 <DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="DPP -- 所属 :HTTP请求" enabled="true">
140 <boolProp name="displayJMeterProperties">false</boolProp>
141 <boolProp name="displayJMeterVariables">true</boolProp>
142 <boolProp name="displaySamplerProperties">true</boolProp>
143 <boolProp name="displaySystemProperties">false</boolProp>
144 </DebugPostProcessor>
145 <hashTree/>
146 </hashTree>
147 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="搜索商品 - 【${goodInfo}】" enabled="true">
148 <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
149 <collectionProp name="Arguments.arguments">
150 <elementProp name="q" elementType="HTTPArgument">
151 <boolProp name="HTTPArgument.always_encode">false</boolProp>
152 <stringProp name="Argument.value">${goodInfo_g3}</stringProp>
153 <stringProp name="Argument.metadata">=</stringProp>
154 <boolProp name="HTTPArgument.use_equals">true</boolProp>
155 <stringProp name="Argument.name">q</stringProp>
156 </elementProp>
157 <elementProp name="districtId" elementType="HTTPArgument">
158 <boolProp name="HTTPArgument.always_encode">false</boolProp>
159 <stringProp name="Argument.value">29357</stringProp>
160 <stringProp name="Argument.metadata">=</stringProp>
161 <boolProp name="HTTPArgument.use_equals">true</boolProp>
162 <stringProp name="Argument.name">districtId</stringProp>
163 </elementProp>
164 <elementProp name="areacode" elementType="HTTPArgument">
165 <boolProp name="HTTPArgument.always_encode">false</boolProp>
166 <stringProp name="Argument.value">1</stringProp>
167 <stringProp name="Argument.metadata">=</stringProp>
168 <boolProp name="HTTPArgument.use_equals">true</boolProp>
169 <stringProp name="Argument.name">areacode</stringProp>
170 </elementProp>
171 <elementProp name="dtype" elementType="HTTPArgument">
172 <boolProp name="HTTPArgument.always_encode">false</boolProp>
173 <stringProp name="Argument.value">list|page|classes</stringProp>
174 <stringProp name="Argument.metadata">=</stringProp>
175 <boolProp name="HTTPArgument.use_equals">true</boolProp>
176 <stringProp name="Argument.name">dtype</stringProp>
177 </elementProp>
178 <elementProp name="districtId" elementType="HTTPArgument">
179 <boolProp name="HTTPArgument.always_encode">false</boolProp>
180 <stringProp name="Argument.name">districtId</stringProp>
181 <stringProp name="Argument.value">29357</stringProp>
182 <stringProp name="Argument.metadata">=</stringProp>
183 <boolProp name="HTTPArgument.use_equals">true</boolProp>
184 </elementProp>
185 <elementProp name="exAppTag" elementType="HTTPArgument">
186 <boolProp name="HTTPArgument.always_encode">false</boolProp>
187 <stringProp name="Argument.name">exAppTag</stringProp>
188 <stringProp name="Argument.value">2045191607</stringProp>
189 <stringProp name="Argument.metadata">=</stringProp>
190 <boolProp name="HTTPArgument.use_equals">true</boolProp>
191 </elementProp>
192 <elementProp name="appSource" elementType="HTTPArgument">
193 <boolProp name="HTTPArgument.always_encode">false</boolProp>
194 <stringProp name="Argument.value">android</stringProp>
195 <stringProp name="Argument.metadata">=</stringProp>
196 <boolProp name="HTTPArgument.use_equals">true</boolProp>
197 <stringProp name="Argument.name">appSource</stringProp>
198 </elementProp>
199 <elementProp name="appVersion" elementType="HTTPArgument">
200 <boolProp name="HTTPArgument.always_encode">false</boolProp>
201 <stringProp name="Argument.value">45</stringProp>
202 <stringProp name="Argument.metadata">=</stringProp>
203 <boolProp name="HTTPArgument.use_equals">true</boolProp>
204 <stringProp name="Argument.name">appVersion</stringProp>
205 </elementProp>
206 </collectionProp>
207 </elementProp>
208 <stringProp name="HTTPSampler.domain">mb.51buy.com</stringProp>
209 <stringProp name="HTTPSampler.port"></stringProp>
210 <stringProp name="HTTPSampler.connect_timeout"></stringProp>
211 <stringProp name="HTTPSampler.response_timeout"></stringProp>
212 <stringProp name="HTTPSampler.protocol">http</stringProp>
213 <stringProp name="HTTPSampler.contentEncoding">GB2312</stringProp>
214 <stringProp name="HTTPSampler.path">/json.php?mod=Search&amp;act=page&amp;p=1&amp;pp=20</stringProp>
215 <stringProp name="HTTPSampler.method">POST</stringProp>
216 <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
217 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
218 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
219 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
220 <boolProp name="HTTPSampler.monitor">false</boolProp>
221 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
222 </HTTPSamplerProxy>
223 <hashTree>
224 <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP信息头管理器" enabled="true">
225 <collectionProp name="HeaderManager.headers">
226 <elementProp name="Charset" elementType="Header">
227 <stringProp name="Header.name">Charset</stringProp>
228 <stringProp name="Header.value">UTF-8</stringProp>
229 </elementProp>
230 <elementProp name="Content-Type" elementType="Header">
231 <stringProp name="Header.name">Content-Type</stringProp>
232 <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
233 </elementProp>
234 <elementProp name="Accept-Encoding" elementType="Header">
235 <stringProp name="Header.name">Accept-Encoding</stringProp>
236 <stringProp name="Header.value">gzip</stringProp>
237 </elementProp>
238 <elementProp name="User-Agent" elementType="Header">
239 <stringProp name="Header.name">User-Agent</stringProp>
240 <stringProp name="Header.value">Dalvik/1.6.0 (Linux; U; Android 4.4.2; GT-I9502 Build/KOT49H)</stringProp>
241 </elementProp>
242 </collectionProp>
243 </HeaderManager>
244 <hashTree/>
245 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
246 <collectionProp name="Asserion.test_strings">
247 <stringProp name="-388667338">${goodInfo_g1}</stringProp>
248 <stringProp name="-388667214">${goodInfo_g5}</stringProp>
249 </collectionProp>
250 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
251 <boolProp name="Assertion.assume_success">false</boolProp>
252 <intProp name="Assertion.test_type">16</intProp>
253 </ResponseAssertion>
254 <hashTree/>
255 <DebugPostProcessor guiclass="TestBeanGUI" testclass="DebugPostProcessor" testname="DPP -- 所属 :HTTP请求" enabled="true">
256 <boolProp name="displayJMeterProperties">false</boolProp>
257 <boolProp name="displayJMeterVariables">true</boolProp>
258 <boolProp name="displaySamplerProperties">true</boolProp>
259 <boolProp name="displaySystemProperties">false</boolProp>
260 </DebugPostProcessor>
261 <hashTree/>
262 </hashTree>
263 </hashTree>
264 <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="察看结果树" enabled="true">
265 <boolProp name="ResultCollector.error_logging">false</boolProp>
266 <objProp>
267 <name>saveConfig</name>
268 <value class="SampleSaveConfiguration">
269 <time>true</time>
270 <latency>true</latency>
271 <timestamp>true</timestamp>
272 <success>true</success>
273 <label>true</label>
274 <code>true</code>
275 <message>true</message>
276 <threadName>true</threadName>
277 <dataType>true</dataType>
278 <encoding>false</encoding>
279 <assertions>true</assertions>
280 <subresults>true</subresults>
281 <responseData>false</responseData>
282 <samplerData>false</samplerData>
283 <xml>false</xml>
284 <fieldNames>false</fieldNames>
285 <responseHeaders>false</responseHeaders>
286 <requestHeaders>false</requestHeaders>
287 <responseDataOnError>false</responseDataOnError>
288 <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
289 <assertionsResultsToSave>0</assertionsResultsToSave>
290 <bytes>true</bytes>
291 <threadCounts>true</threadCounts>
292 </value>
293 </objProp>
294 <stringProp name="filename"></stringProp>
295 </ResultCollector>
296 <hashTree/>
297 </hashTree>
298 </hashTree>
299 </jmeterTestPlan>




至此, JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇 顺利完结,希望此文能够给初学 JMeter 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

我本渺小,但山峰,我一次次绝顶!

PS:若有错误,敬请告知,不胜感激! Copyright @范丰平 版权所有,如需转载请标明本文原始链接出处,严禁商业用途! 我的个人博客链接地址:http://www.cnblogs.com/fengpingfan

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jquery.validate使用攻略(表单校验) 目录 jquery.validate使用攻略1 第一章&#160;jquery.validate使用攻略1 第二章&#160;jQuery.validate.js API7 Custom selectors7 Utilities8 Validato
/\s+/g和/\s/g的区别 正则表达式/\s+/g和/\s/g,目的均是找出目标字符串中的所有空白字符,但两者到底有什么区别呢? 我们先来看下面一个例子: let name = &#39;ye wen jun&#39;;let ans = name.replace(/\s/g, &#39;&#3
自整理几个jquery.Validate验证正则: 1. 只能输入数字和字母 /^[0-9a-zA-Z]*$/g jQuery.validator.addMethod(&quot;letters&quot;, function (value, element) { return this.optio
this.optional(element)的用法 this.optional(element)是jquery.validator.js表单验证框架中的一个函数,用于表单控件的值不为空时才触发验证。 简单来说,就是当表单控件值为空的时候不会进行表单校验,此函数会返回true,表示校验通过,当表单控件
jQuery.validate 表单动态验证 实际上jQuery.validate提供了动态校验的方法。而动态拼JSON串的方式是不支持动态校验的。牺牲jQuery.validate的性能优化可以实现(jQuery.validate的性能优化见图1.2 jQuery.validate源码 )。 也可
自定义验证之这能输入数字(包括小数 负数 ) &lt;script type=&quot;text/javascript&quot;&gt; function onlyNumber(obj){ //得到第一个字符是否为负号 var t = obj.value.charAt(0); //先把非数字的都
// 引入了外部的验证规则 import { validateAccountNumber } from &quot;@/utils/validate&quot;; validator.js /*是否合法IP地址*/ export function validateIP(rule, value,cal
VUE开发--表单验证(六十三) 一、常用验证方式 vue 中表单字段验证的写法和方式有多种,常用的验证方式有3种: data 中验证 表单内容: &lt;!-- 表单 --&gt; &lt;el-form ref=&quot;rulesForm&quot; :rules=&quot;formRul
正则表达式 座机的: 例子: 座机有效写法: 0316-8418331 (010)-67433539 (010)67433539 010-67433539 (0316)-8418331 (0316)8418331 正则表达式写法 0\d{2,3}-\d{7,8}|\(?0\d{2,3}[)-]?\d
var reg = /^0\.[1-9]{0,2}$/;var linka = 0.1;console.log (reg.test (linka)); 0到1两位小数正则 ^(0\.(0[1-9]|[1-9]{1,2}|[1-9]0)$)|^1$ 不含0、0.0、0.00 // 验证是否是[1-10
input最大长度限制问题 &lt;input type=&quot;text&quot; maxlength=&quot;5&quot; /&gt; //可以 &lt;input type=&quot;number&quot; maxlength=&quot;5&quot; /&gt; //没有效
js输入验证是否为空、是否为null、是否都是空格 目录 1.截头去尾 trim 2.截头去尾 会去掉开始和结束的空格,类似于trim 3.会去掉所有的空格,包括开始,结束,中间 1.截头去尾 trim str=str.trim(); // 强烈推荐 最常用、最实用 or $.trim(str);
正则表达式语法大全 字符串.match(正则):返回符合的字符串,若不满足返回null 字符串.search(正则):返回搜索到的位置,若非一个字符,则返回第一个字母的下标,若不匹配则返回-1 字符串.replace(正则,新的字符串):找到符合正则的内容并替换 正则.test(字符串):在字符串中
正整数正则表达式正数的正则表达式(包括0,小数保留两位): ^((0{1}.\d{1,2})|([1-9]\d.{1}\d{1,2})|([1-9]+\d)|0)$正数的正则表达式(不包括0,小数保留两位): ^((0{1}.\d{1,2})|([1-9]\d.{1}\d{1,2})|([1-9]+
JS 正则验证 test() /*用途:检查输入手机号码是否正确输入:s:字符串返回:如果通过验证返回true,否则返回false /function checkMobile(s){var regu =/[1][3][0-9]{9}$/;var re = new RegExp(regu);if (r
请输入保留两位小数的销售价的正则: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/ 1.只能输入英文 &lt;input type=&quot;text&quot; onkeyup=&quot;value
判断价格的正则表达式 价格的正则表达式 /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/; 1 解析:价格符合两种格式 ^ [1-9]\d*(.\d{1,2})?$ : 1-9 开头,后跟是 0-9,可以跟小数点,但小数点后要带上 1-2 位小数,类似 2,2
文章浏览阅读106次。这篇文章主要介绍了最实用的正则表达式整理,比如校验邮箱的正则,号码相关,数字相关等等,本文给大家列举的比较多,需要的朋友可以参考下。_/^(?:[1-9]d*)$/ 手机号
文章浏览阅读1.2k次。4、匹配中的==、an==、== an9、i9 == "9i"和99p==请注意下面这部分的作用,它在匹配中间内容的时候排除了说明:当html字符串如下时,可以匹配到两处,表示匹配的字符串不包含and且不包含空白字符。说明:在上面的正则表达式中,_gvim正则表达式匹配不包含某个字符串
文章浏览阅读897次。【代码】正则表达式匹配a标签的href。_auto.js 正则匹配herf