我正在尝试构建一些正则表达式来验证一些文本框控件.我做了一些研究和测试,但不能让这个工作.我试图创建正则表达式的示例如下:
分别为1和5,我用过
([0-9]|[0-9]\d|45)$
([0-9]|[0-9]\d|1500000)$
Run Code Online (Sandbox Code Playgroud)
我遇到问题的第一个是年龄范围16-65(含),我想要没有小数位.在这里发帖后(正则表达式允许数字介于-90.0和+90.0之间)我以为我可以使用逻辑并让它得到怀疑,但不能!
我得到的表达是:
(\d|([1-6][6-4]))|65
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我,我误解了这个!对上述其他例子的任何帮助都将受到热烈欢迎.
很抱歉这样说,但你的正则表达不会起作用.请记住,正则表达式旨在匹配文本数据.虽然可以使用它们来匹配数字,但它并不是真正的选择工具.
如果必须使用正则表达式,则需要考虑数字范围的可能文本表示.
对于您的示例1,那将是:
正如一个正则表达式:
^(?:\d|[1-3]\d|4[0-5])$
Run Code Online (Sandbox Code Playgroud)
在^与$锚确保整个字符串评估; 该(?:...)组交替从锚"屏蔽"了.
对于你的例子3:
正如一个正则表达式:
^(?:1[6-9]|[2-5]\d|6[0-5])$
Run Code Online (Sandbox Code Playgroud)
对于你的例子5:
正如一个正则表达式:
^(?:\d{1,5}|1[0-4]\d{4}|150000)$
Run Code Online (Sandbox Code Playgroud)
等等.
添加小数位并不是很困难:
\.\d{2} 适用于正好两位小数\.\d{1,3} 小数点后1到3位(?:\.\d{1,2})对于0到2个小数位(只有在至少一个数字后面才允许使用点).| 归档时间: |
|
| 查看次数: |
16690 次 |
| 最近记录: |