在写备注或者说明输入框的时候,一般都要求不能有特殊字符,但是可以有逗号,可以输入汉字、字母、数字逗号。也可以为空 ,查了很多都不行,亲测有效。
/(^$)|(^[\u4E00-\u9FA5a-zA-Z0-9,,]{1,250}$)/
(^$) // 表示可以为空
(^[\u4E00-\u9FA5a-zA-Z0-9,,]{1,250}$) //表示可以输入1-250个字的数字、汉字、字母、逗号
不能
输入
!@#¥%……&* 这种字符的
正则表达式
书写:
/[@#\$%\^&\*]+/g 这个是包含以上任意一个
特殊字符
。取! 即可
alert(!/[@#\$%\^&\*]+/g.test(“test”)) 返回 false 就代表不包含非法字符 .
PS:关于
正则表达式
,这里再提供2款本站的在线
正则表达式
工具供大家参考使用(包括常用正则的生成、匹配、测试等):
JavaScript
正则表达式
在线测试工具:http://tools.jb51.net/regex/javascript
正则表达式
在线生成工具:http://tools.jb51.net/regex/create_reg
2.字符限制在中文、大小写英文、数字、横线和下划线
2.可以只
输入
一串连续的字符
3.也可以
输入
一个单词(由上述字符构成)一个单词的形式,单词间可以用一个空格隔开(只能是一个)
正则表达式
:
^(([A-Za-z0-9\_\u4e00-\u9fa5-]+(\s?))*
/^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,}$/
这里主要用到了
js
正则表式中的正向前瞻 ?=,举个例子
/\d/.exec( ‘abc2abc’ ) 匹配结果为2,释义:匹配一个数字
/\d(?=a)/.exec( ‘abc2abc’ ) 匹配结果为2,释义:匹配一个数字,但是这个数字后面必须跟着字母a
<input onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')">;
2.
JS
控制文本框只能
输入
数字
<input onkeyup="value=value.replace(/[^0-9]/g,'')"
onpaste="value=value.replace(/[^0-9]/g,'')"
oninput = "value=value.replace(/[^0-9]/g,'')
背景前几天后台服务器突然出现CPU使用率很高的现象(超过80%),通过
js
tack获取线程堆栈信息才发现罪魁祸首竟然是
正则表达式
。项目需求项目中需要对
输入
的表单进行验证,验证规则如下:(1)只能包含数字和英文
逗号
;(2)以数字开头;(3)以英文
逗号
或者数字结尾;(4)英文
逗号
可以出现在数字串的中间但是不能有两个连续的
逗号
;比如:3是匹配的,3,是匹配的,3,3是匹配的,3,3,3,是匹配的。,3,...
最近在项目中有一个需求是禁止
输入
特殊字符
,一开始我是在网上找的
正则表达式
直接用的,后来发现这个表达式同时也禁止了v,x,y,z,所以后来就想了一个比较笨的方法,把所有的
特殊字符
全部罗列出来,然后在匹配一下。最后在
输入
的时候禁止就好了。
项目都是在vue中的,所有方法都是在methods里边的。
step 一,
正则表达式
解决方案
用这种方式替换,会导致v,x,y,z
输入
不进去,亲测。
<el-input
placeholder="I'm shopping f
以前只会//.exec("\n"),匹配到,这种简单的固定写法,但实际使用次数几乎趋近于0。很多场景不能写死abc,顺理成章的就写成了//.exec("\n"),咦?咋把前面的匹配到了!从入门到放弃。昨天(2019-04-07)随手写了一下//.exec("\n"),原来是对.+(?!排除的字符串)这个结构能起到的作用理解错了,怪不得达不到预期,(.(?!排除的字符串))+才是正解。留下一个未解的...
正则表达式
是用于匹配字符串中字符组合的模式。在 JavaScript 中,
正则表达式
也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法。
正则表达式
的掌握程度能粗略地看出程序员的技术底子,所以技术面试、编程竞赛等 都特别喜欢考察
正则表达式
。本篇就带你一起夯实一下 Java...
this.datalist.contentName=res.data[0].contentName.replace(/[\,]/g,'\n'); //所有的,转换成换行
contentName=this.datalist.contentN...