js实现 如何截取一个字符串中的数字
比如
var v =“我要提问1098”;
var v=“我0要提问”
var v=“我还是要提问987”
等
我想要里边的 1098 ,0, 987
在一个字符串中肯定会有一组数字,这组数字出现的位置不固定,这组数字是由0~9随机组成的,最少有一个,比如可能只有一个0。
用js怎么实现?
实例一、
<script>
var v = "我要提问1098";
s = ""
for (i = 0; i < v.length; i++) {
if ("0123456789".indexOf(v.substr(i, 1)) > -1)
s += v.substr(i, 1)
}
alert(s)
</script>
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
实例二、
<script>
var str = "中华人民共和国04314fdsa";
alert(str.replace(/^[^\d]*(\d+)[^\d]*$/, "$1"));
</script>
####这个博客主、写的听挺好的:详解JS正则replace的使用方法
实例三、
<script language=JavaScript>
function getN(s) {
return s.replace(/[^0-9]/ig, "")
}
alert(getN("我要提问1098"))
alert(getN("我0要提问"))
alert(getN("我还是要提问987"))
</script>
实例四、
<script>
var v = "我还是要提问987";
alert(v.match(/\d+/ig));
</script>
整体代码如下:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script>
var v = "我要提问1098";
s = ""
for (i = 0; i < v.length; i++) {
if ("0123456789".indexOf(v.substr(i, 1)) > -1)
s += v.substr(i, 1)
}
alert(s)
</script>
<script>
var str = "中华人民共和国04314fdsa";
alert(str.replace(/^[^\d]*(\d+)[^\d]*$/, "$1"));
</script>
<script language=JavaScript>
function getN(s) {
return s.replace(/[^0-9]/ig, "")
}
alert(getN("我要提问1098"))
alert(getN("我0要提问"))
alert(getN("我还是要提问987"))
</script>
<script>
var v = "我还是要提问987";
alert(v.match(/\d+/ig));
</script>
</body>
</html>