s实现 如何截取一个字符串中的数字

s实现 如何截取一个字符串中的数字

比如
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>

猜你喜欢

转载自blog.csdn.net/qq_37968920/article/details/82492888
今日推荐