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

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中是可以的
...全文
272 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
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>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧