• 全部
  • 问答

关于动态生成正则表达式,请教

kevinliuu 2006-06-13 02:55:12
<input name="test" size="12" onBlur="check(this,4,3);">

<script>
function check(s, a, b)
{
var reg = /^(([1-9]\\d{0,4})|(0))(\\.\\d{0,3})?$/ ;

alert(reg.test(s)) ;

}
</script>

这是一段校验浮点数的正则表达式,0-4位整数,0-3位小数

现在的问题是如何传入a,b两个参数,动态构造一个正则表达式,使这个function能够复用

如,现在我需要检验0-10位整数部分,0-5位小数部分进行校验,js能够做到吗?

尝试了使用+号连接,但+号属于正则表达式的匹配字符,未果。。。。

另外java中是可以的
...全文
216 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kevinliuu 2006-06-13
回复人:meizz(梅花雪) ( 一级钻石)


多谢
回复
meizz 2006-06-13
<input name="test" size="12" onBlur="check(this.value,4,3);">

<script>
function check(s, a, b)
{
var reg = new RegExp("^(([1-9]\\d{0,"+ (a-1) +"})|0)(\\.\\d{0,"+ b +"})?$");
alert(reg.test(s)) ;
}
</script>
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2006-06-13 02:55
社区公告
暂无公告