求一个正则表达式 求校验一个字符串 由数字和连接符"-"组成的正则表达式,比较急,谢谢各位高人了!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 知道的信息越多,就越能写出符合要求的正则表达式,否则就很难达到要求,像你的这个要求,只能做到:regex = null 听上去不难 如 "\\d\\-\\d" 等等 就是lz的描述太抽象 我们用正则无法匹配 字符串可以是纯数字,也可以是数字和连接符“-”的组合,但是“-”不可以出现在开始和结尾,字符串的中间不允许有空格,各位帮帮忙。要在javascript中做校验用。谢谢了~~ regex = "(?!\\-)[0-9\\-]+(?<!\\-)";java中是这样的js中的special constructs还没看 依你现在的要求,只能做成:/^\d(?:\d|-)*\d$/但这样能匹配,1---2 这种形式的,不知道是否满足要求? 你的要求不明确,再提供几个你自己试试看,不见得有用1. /^\d(?:\d|-)*\d$/2. /^\d(?:\d-|\d)*\d$/3. /^\d(?:-\d|\d)*\d$/4. /^\d(?:\d-|-\d|\d)*\d$/ js貌似不支持负后向锚(?<!退一步做法先判断末字符非'-'然后再做正则匹配regex = "/^(?!\-)[0-9\-]+$/"; 1~4 有 bug 不能用。5. /^\d(?:\d|-(?!$))*\d?$/ 能匹配 3、3--4、3-5---56. /^\d(?:\d-(?!$)|-\d|\d)*\d?$/ 能匹配 3、3--4、33-4-3,但不能匹配 33---47. /^\d(?:\d|-\d)*\d?$/ 能匹配 3、34-34-34,即其中只允许一個“-”,不允许多个具体要什么样子的,楼主自己看着办吧。 var regex = /^\d(?:\d|-(?!$))*\d?$/;alert(regex.test("34-34-34")); 被提醒了 var regex = /^(?!\-)[0-9\-]+\d$/;alert(regex.test("12-12-12")); 或这样var regex = /^\d(\d|-)*\d$/;alert(regex.test("12-12-12")); 关于SSH整合的两个问题,多谢! 求购WEB版德州扑克代码,JAVA,FLASH等,要代码,价格详谈. 怪问题!请教 按照自然历得出一年中的第几周是哪个区间段? 高难度,jsp的问题 给分贴...越快分越多 100分求编码转换的解决方法!!! 关于session级的ActionForm的bean的困惑? 请教各位 关于servlet的问题 jsp如何新建文本文件? .etableTitle{} 和.etable{} 是什么意思啊? 帮看一下这个错误
"\\d\\-\\d"
等等 就是lz的描述太抽象 我们用正则无法匹配
java中是这样的js中的special constructs还没看
2. /^\d(?:\d-|\d)*\d$/
3. /^\d(?:-\d|\d)*\d$/
4. /^\d(?:\d-|-\d|\d)*\d$/
退一步做法先判断末字符非'-'
然后再做正则匹配
regex = "/^(?!\-)[0-9\-]+$/";
6. /^\d(?:\d-(?!$)|-\d|\d)*\d?$/ 能匹配 3、3--4、33-4-3,但不能匹配 33---4
7. /^\d(?:\d|-\d)*\d?$/ 能匹配 3、34-34-34,即其中只允许一個“-”,不允许多个具体要什么样子的,楼主自己看着办吧。
alert(regex.test("34-34-34"));
var regex = /^(?!\-)[0-9\-]+\d$/;alert(regex.test("12-12-12"));
var regex = /^\d(\d|-)*\d$/;
alert(regex.test("12-12-12"));