Heim > Fragen und Antworten > Hauptteil
Zum Beispiel gibt es eine Zeichenfolge a = „8px“;
Die Anzahl der Ziffern in der Zahl ist nicht unbedingt sicher. Wenn ich die Zahl abfangen möchte, möchte ich a.substring(0,a.indexOf(“ verwenden. p")). Ursprünglich wollte ich a.substring( 0,-2) verwenden. Aber nach der Überprüfung habe ich herausgefunden, dass der Substring-Parameter keine negative Zahl sein kann, aber ich denke, a.substring(0,a.indexOf( „p“)) ist etwas mühsam. Gibt es eine direktere Optimierungsmethode?
天蓬老师2017-05-19 10:13:49
第一种可以用substring方法:a.substring(0,a.length-2)
第二种可以用正则表达式:var a='8px';a.replace(/px$/ig,'')
PHP中文网2017-05-19 10:13:49
var str1 = "8px",
str2 = "88px",
str3 = "888px",
str4 = "8.88px";
str1.replace(/(.*)px/, "$1"); //8
str2.replace(/(.*)px/, "$1"); //88
str3.replace(/(.*)px/, "$1"); //888
str4.replace(/(.*)px/, "$1"); //8.88
巴扎黑2017-05-19 10:13:49
用正则最方便
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]
}