今天接到一个优化的需求,要求输入框可以任意输,但是不能出现纯数字.
于是就去匹配正则,参考链接
https://www.cnblogs.com/diyichen/p/5960425.html
/^(?!\d+$)[\dA-Za-z\u4e00-\u9fa5]{1,20}/
本来以为实现了需求,但是,发现-1 2% +50 0.336这类数字被检测为纯数字
后来通过知乎/百度/谷歌才知道之前的正则存在漏洞,后面把支持的符号加进去就实现了优化需求
/(?!\d+$)[\dA-Za-z\u4e00-\u9fa5\_\,\.\%\+\-\*\(\)\&\#\[\]\]/]{1,}$/
这里还有一个比较全面的正则表达式,来自csdn的大神