js正则表达式()和$1...$9的理解和使用

来源:互联网 发布:阿里云备案幕布ps 编辑:程序博客网 时间:2024/06/05 15:21

1.小括号的意思

这是百度百科中的:

(pattern)

 匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使  用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用

2.我的理解

()就是起到一个分组作用,将匹配到的放到mathches集合中,$相当于集合名字,1-9就相当于索引,$1...$9相当于对应索引的值

 

3.使用()和$1...$9来限制输入位数

 

例如只能输入四位正整数的input框:

<html><title>正则表达式</title><head><meta charset="utf-8"></head><script type="text/javascript">//只能输入1-9999正整数function clearInput(obj){obj.value = obj.value.replace(/[^\d]/g,"");obj.value = obj.value.replace(/^0.*$/g,"");obj.value = obj.value.replace(/^([1-9])(\d{3}).*$/,'$1$2'); //只能输入两个小数}function alertMessage(){var value=document.getElementById('digit').value;var regx=/\d{3}/;if (regx.test(value)) {alert("是3位");}else{alert("不是3位");};}</script><body>四位正整数:<input id="digit" type="text" onkeyup="clearInput(this)" onafterpaste="clearInput(this)"><input type="button" onclick="alertMessage()" value="有几位数字"></body><html></span>

^([1-9]) 是$1

(\d{3})是$2

总结:()和$1...$9结合使用是个很好的工具



1 0
原创粉丝点击