javascript - À propos de l'interception des chaînes
ringa_lee
ringa_lee 2017-05-19 10:11:49
0
8
563

Par exemple, il y a une chaîne a = "8px";
Le nombre de chiffres dans le nombre n'est pas nécessairement certain Si je veux intercepter le nombre, je veux utiliser a.substring(0,a.indexOf(" p")). Au départ, je voulais utiliser a.substring( 0,-2); Mais après vérification, j'ai découvert que le paramètre substring ne peut pas être un nombre négatif, mais je pense que a.substring(0,a.indexOf( "p")) est un peu gênant. Existe-t-il une méthode d'optimisation plus directe ?

ringa_lee
ringa_lee

ringa_lee

répondre à tous(8)
漂亮男人

var a="88px";
Si le format est le même, les premières parties sont des nombres et seuls les nombres doivent être extraits, vous pouvez utiliser :
parseInt(a);//88

仅有的幸福

UTILISATION RÉGULIÈRE

console.log('8px'.match(/(\d+)/)[0])
Peter_Zhu

Le premier peut utiliser la méthode substring : a.substring(0,a.length-2)
Le second peut utiliser des expressions régulières : var a='8px';a.replace(/px $/ig,'')

滿天的星座
var a = '8px';
a.slice(0,-2);
大家讲道理

parseInt,parseFloat,slice,regexp

洪涛
var str1 = "8px",
    str2 = "88px",
    str3 = "888px",
    str4 = "8.88px";
    
str1.replace(/(.*)px/, ""); //8
str2.replace(/(.*)px/, ""); //88
str3.replace(/(.*)px/, ""); //888
str4.replace(/(.*)px/, ""); //8.88
巴扎黑

Il est plus pratique d'utiliser des expressions régulières

var reg = /([\d\.]+)px/; // 使用这个正则匹配
var arr = ['8px', '18px', '28px', '0.08px']
for (let i = 0, len = arr.length; i < len; i++) {
    console.log(arr[i], arr[i].match(reg)[1]);  // 结果arr[i].match(reg)[1]
}
黄舟

Je suis sans voix pour vous les gars, je ne peux pas utiliser parseInt, parseFloat

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!