js正则函数match、exec、test、search、使用介绍集合 检验身份证

<script type="text/javascript">
  var obj = '11010519491231002X';
  var rg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
//match 方法
alert(obj.match(rg))
</script>

stringObj 
必选项。要在其上进行查找的 String 对象或字符串文字。 
rgExp 
必选项。包含正则表达式模式和可用标志的正则表达式对象。

输出:注:该身份证号码来源于国标【GB 11643-1999】


<script type="text/javascript">
  var obj = '11010519491231002X';
  var rg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
  //exec 方法 
  alert(rg.exec(obj))
</script>

<script type="text/javascript">
  var obj = '11010519491231002X';
  var rg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
  //test 方法 
  alert(rg.test(obj))//true
</script>

<script type="text/javascript">
  var obj = '11010519491231002X';
  var rg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
  //search 方法 
  alert(obj.search(rg));
</script>


返回与正则表达式查找内容匹配的第一个子字符串的位置(偏移位)。 

search 方法 

说明:如果找到,则,返回子字符至开始处的偏移位(第0位),否则返回-1(没找到)。

var str = 'abcdef';

var re = RegExp('正则表达式');

var re = RegExp('/\d+/g');一般不这么写

var re = //\d+/g/; 简写 /正则表达式/  双斜杠

/^\w$/  ^代表行首,$代表行尾

var re = //\d+/g/i; 正则表达式后面加i 不区分大小写

alert(str.match(/\d/g));正则表达式后面加g 匹配全部的

alert(str.match(re));

alert(re.test(str)); 匹配正则 测试字符串

alert(str.search(re));

alert(str.replace('a','S')); 用'S' 替换a

alert(str.replace(re,'***')); 用正则去匹配、不过关的变为*号

. 代表任意字符    \.代表.本身

<script type="text/javascript">
	var str = ' sdf  sdf s sd  ';
	var re = /^\s+|\s+$/g;
	alert('('+str.replace(re,'')+')')//去前后空格
</script>

猜你喜欢

转载自blog.csdn.net/a772116804/article/details/79609348