求写一个正则表达式:要求输入0到49.5的数字

作者&投稿:潜败 (若有异议请与网页底部的电邮联系)
正则表达式验证数字0到59怎么写??~


+号一次或多次,*号0次或多次,测试无误

正确的写法应该是
var p = /^([0-9]|(1[0-5]))$/;
里面有几个要点,
1、[0-9]|(1[0-5]) 这里是指明,要么是0-9的单个数字,要么是1开头并且后跟0-5的数字
2、^ 和 $ 夹在前后指明必须完全匹配

为了证明这个正则表达式是正确的,你可以试试在 Chrome 浏览器的控制台里执行下面的小测试程序:
var p = /^([0-9]|(1[0-5]))$/;
for (var i = -1; i < 20; ++i) {
console.log(i + ' ' + p.test(i));
}

输出为:
1 false
0 true
1 true
2 true
3 true
4 true
5 true
6 true
7 true
8 true
9 true
10 true
11 true
12 true
13 true
14 true
15 true
16 false
17 false
18 false
19 false


看到了吧,只有0到15是通过的,其他都是不通过的。

给个测试代码
jquery版本自己改
<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var reg = /^(\d|[1-4]\d)(\.5)?$/g;
/*
-1 false
0 true
0.5 false
1 true
1.5 false
12.5 true
49.5 false
50 false
50.5 false
*/
//var reg = /^(?!0+\d(?:\.5)$)(?:\d|[1-4]\d)(\.5)?$/;
/*
-1 false
0 true
0.5 true
1 true
1.5 true
12.5 true
49.5 true
50 false
50.5 false
*/
$("p").append("-1\t" + reg.test("-1")+"<br>");
$("p").append("0\t" + reg.test("0")+"<br>");
$("p").append("0.5\t" + reg.test("0.5")+"<br>");
$("p").append("1\t" + reg.test("1")+"<br>");
$("p").append("1.5\t" + reg.test("1.5")+"<br>");
$("p").append("12.5\t" + reg.test("1.5")+"<br>");
$("p").append("49.5\t" + reg.test("49.5")+"<br>");
$("p").append("50\t" + reg.test("50")+"<br>");
$("p").append("50.5\t" + reg.test("50.5")+"<br>");
});
</script>
</head>
<body>
<div id="myDiv">
<p></p>
</div>
</body>
</html>

如果是程序的话可以用简单的数学做出判断,不需要正则这么伤脑筋的东西啊
x%0.5判断就可以了

^(?!0+\d(?:\.5)$)(?:\d|[1-4]\d)(\.5)?$

<script type="text/javascript">
var reg = /^(\d|[1-4]\d)(\.5)?$/g
alert(reg.test("12.5"))
</script>


写一正则表达式,用以表示密码长度在6-10位之间,并且包含至少一个数字...
(?=.*\\d)(?=.*[a-zA-Z])^.{6,10}

求一个正则表达式 判断只能是数字、字母、下划线
其实正则有自带的语法,即 \\w ,完整正则可以写为 ^\\w+$ 或者也可以 ^[0-9a-zA-Z_]+$,其中^ $ 分别匹配字符串的开始和结束,这样才能保证匹配了所有的字符.例 var string = 'baidu_001';var pattern = \/^\\w+$\/i;var arr = string.match(pattern);if(arr)alert("字符串" + arr[0...

谁能帮我写一个1到29的正则表达式。
正则表达式主体:[1-9]|[12][0-9]要分组写的话可能就更容易理解 [1-9]|([12][0-9]),前面表示1-9;后面表示以1或2开头,接着是0-9,即括号包含的表达式表示10-29的数字。后面看图就更容易理解了。虽然\\d在某些环境下可以表示数字,但这些特定的表示方法并不是通用的。有些语言环境会无法...

正则表达式,提取多个数值中的某一个怎么写
\\[\\d+(\\.\\d+)?,\\d+(\\.\\d+)?\\] 这是匹配一个 类似[8175.6,0.0085]格式字符串的正则表达式 如果你要取第1个数值 \\[(\\d+(\\.\\d+)?,\\d+(\\.\\d+)?)\\] 这样就可以了,匹配结果的第一组$1就是8175.6,0.0085 如果你要取第5个数值则可以这样 (\\[\\d+(\\.\\d+)?,\\d...

有没有人知道这个要求的正则表达式该怎么写呢???
取的正则是:\\d{1,3}(,+\\d{1,3})+ 要去掉中间的逗号,不可能一步到位的。你还需要第二个程序,replace 你使用的是正则表达式测试工具,它并不借助任何语言,更不可能达到你的目的,它只能显示你需要的那段符合规则的某段,不能帮你进行处理。具体到某种语言,有时会提供一些函数,可以做到比较...

帮忙写个正则表达式 ,可以输入中文英文数字小括号&,禁止输入“-”。多...
^[\\w\一-\龥()&]+$,可以禁止输入-,不知道@#¥%这样的字符能不能输入,如果不能再加上就可以了

正则表达式(?)是什么意思?
意思是断言,只匹配一个位置。例如:想匹配一个“人”字,但是只想匹配中国人的人字,不想匹配法国人的人,就可以用一下表达式 (?=中国)人 所以,楼主的表达式与其他通配符连用才能起到效果。(?=.*[a-z])\\d+ 这个就表示 匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字。(?<=exp)...

请问这个正则表达式怎么写?
可以改成:(?<=0\\.16.*)\\d(?=.*#ig)匹配结果如下:可见只匹配到了894150这6个数字

java编写正则表达式,判断给定的是否是一个合法的IP地址怎么写?
正则表达式匹配ip地址,实际上就是分别判断每个点直接的数字是否符合规范。\\x0d\\x0apackage com;\\x0d\\x0a import java.util.regex.Matcher;\\x0d\\x0a import java.util.regex.Pattern; \\x0d\\x0a public class TestRegex { \\x0d\\x0a public static boolean isboolIP(String ip...

正则表达式验证:至少6个字符,并且至少包含一个数字一个大写字母一个小写...
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,}

曲靖市19296477745: 求一个正则表达式.只能以K、T、L三个字母中的任意一个开头,后面接1 - 4位正整数!速求!!! -
卞雅捷克: 补充一楼 ^[KTL]\d{1,4}$ 如果你的正则不支持\d,可以写成:^[KTL][0-9]{1,4}$

曲靖市19296477745: 求一个正则表达式:要求输入的数位自然数(0,1,2,3....) -
卞雅捷克: var reg = /^[\+\-]?(([1-9]\d*)|\d)$/;

曲靖市19296477745: 怎样写一个正则表达式,限制输入2 - 4个汉字? -
卞雅捷克: function Chinasimple(str) { var strs=str.replace(/(^\s+)|(\s+$)/g, "");//去除前后的空格 if (!strs.match(/^[\u4e00-\u9fa5]{2,4}$/)) {//我习惯用match alert("只能输入2到4个汉字"); return false; } }

曲靖市19296477745: 任意字符,不少于4位,的正则表达式怎么写? -
卞雅捷克: 如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单.如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符...

曲靖市19296477745: 求一个正则表达式,详情内~求大神赐教! -
卞雅捷克: (?<![\d;])\d{1,3}(;\d{1,3}){0,4})(?![\d;])

曲靖市19296477745: 0到150的正则表达式怎么写和输入6位以上字符,不允许空格的正则表达式,谢谢! -
卞雅捷克: 1. /^((\d{1,2})|(1[0-4]\d)|(150))$/2. /^\S{6,}$/3. /^\w{4,16}$/

曲靖市19296477745: 求一个简单的正则表达式
卞雅捷克: 你好.可以这样. [A-Z]{4}[0-9]{7} [ ]这里面填写出现的字符、比如A-Z都有可能、那就填入A-Z. {} 这里面填写前面[ ]这里面字符出现的个数.比如: [a]{3}就是3个a. 不懂再问

曲靖市19296477745: 求写一个正则表达式:要求输入0到49.5的数字 -
卞雅捷克: 如果是程序的话可以用简单的数学做出判断,不需要正则这么伤脑筋的东西啊 x%0.5判断就可以了

曲靖市19296477745: 求正则表达式 -
卞雅捷克: ^(\d{2}){2,}$ 这是最优解,\d{2}表示匹配一个数字两次;(\d{2})作为一个分组,(\d{2}){2,}匹配两个数字两次或者多次以上,然后^表示必须从字符串开始处匹配,$表示必须在字符串的末尾处.

曲靖市19296477745: 正则表达式 可以输入 - 1, - 2 ,或者整数,或者 最多输入两位小数 -
卞雅捷克: 按照你的要求写的正则表达式 ^(-1|-2|([0-9]+(\.[0-9]{1,2})?))$<br>我给你一个Javascript语言的例子,你看看吧<br><script type=text/javascript><br><br> var str="0.0";<br><br> var regex=/^(-1|-2|([0-9]+(\.[0-9]{1,2})?))$/;<br><br> var result=regex.test(str);<br><br> alert(result);<br><br></script><br><br><br>运行结果<br>true

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网