Interceptar el número correspondiente en la cadena Js

Uno, método parseInt ()

Lo primero que me viene a la mente es el método parseInt proporcionado por js.
Ejemplo 1: use parseInt para cadenas numéricas puras

     var str ="20200427";
   
     var num = parseInt(str);
  
     alert(num);//20200427  结果就是我们想要的

Ejemplo 2:
si es el comienzo de un número con caracteres en el medio, solo se obtendrá el número inicial de toda la cadena

    var str ="2020-04-27";
   
    var num = parseInt(str);
 
    alert(num);//只有字符串中的第一个数字会被返回。这里只能截取到2020

Ejemplo 3: si hay caracteres que no son dígitos delante de la cadena, el método anterior no funcionará

    var str ="今天是:20200427";
  
    var num = parseInt(str);
   
     alert(num);//NaN  结果什么数据也获取不到。

En el ejemplo anterior, aparecerá NaN. La forma más fácil de resolver este problema es: si conoce el formato de cadena, elimine los no caracteres anteriores.

Ejemplo 4: eliminar directamente el formato de cadena anterior

    var str ="今天是:20200427";
     var num = parseInt(str.substring(3).substring(0).substring(1));
     alert(num);//20200427
    结果就是正确的。并且num的类型是number。alert(typeof num)//number

Obviamente, esto es más problemático. Además, también hay un método parseInt () en el lenguaje java. Siempre que no haya dígitos en la cadena pasada dentro, myeclipse mostrará un error. El método parseInt () en Js puede pasar cadenas no digitales, siempre que la cadena esté delante de él, continuará ejecutándose hasta que se detenga cuando encuentre caracteres no digitales.
Por ejemplo, analicemos el segundo ejemplo que vimos antes

 var str ="2020-04-27";
var num = parseInt(str);
alert(num);//只有字符串中的第一个数字会被返回。这里只能截取到2020
     不会报错,结果还是一样,因为系统查找到"-"时就停止了,不管后面有没有数字都不会再提取了。所以不会出现20200427的结果。Js中有很多这样的例子,比如正则不写/g,默认查找符合的第一个子字符串就跳出,并不会往下面进行。本文第三个例子出现NaN,也是这个原因,请细细体会。

Con respecto al método parseInt (), también puede haber un segundo parámetro. El segundo parámetro representa la base del primer parámetro, vea un ejemplo:

parseInt("11", 2); // 结果:3  如果想把一个二进制数字字符串转换成整数值,只要把第二个参数设置为 2 就可以了。

El último parámetro no está escrito y se convierte en decimal de forma predeterminada.

La última pregunta, ¿qué hace la función de análisis sintáctico? Lo que se pasa entre programas es una cadena (tipo de texto) y debe convertirse al tipo requerido cuando se usa. La función parse convierte la cadena en el tipo que necesitamos, como parseInt (), parseFloat ().

2. Regular (importante)

Hablando de regularidad antes. De hecho, el procesamiento regular es relativamente simple, simplemente reemplace los caracteres que no son dígitos. ejemplo:

    var str ="2020-04-27";

    var num= str.replace(/[^0-9]/ig,"");

    alert(num);//20200427//这时就是我们想要的结果了

Si es necesario, comuníquese con WeChat: hdyi1997. Al mismo tiempo, ¡explique su intención y progresen juntos! ! !

Supongo que te gusta

Origin blog.csdn.net/Y_6155/article/details/105785992
Recomendado
Clasificación