建議用javascript,jquery從數字(任意字符串)去除或截斷前導零的解決方案。用javascript/jquery去除/截斷前導零點
回答
您可以使用在字符串開始處匹配零一個正則表達式:
s = s.replace(/^0+/, '');
@SomnathMuluk:這將是很多JavaScript程序員的驚喜! – Bert
@Guffa:我在jQuery代碼中使用它..可能是因爲它可能無法正常工作。 –
@Somnath,jQuery是javascript。如果在JavaScript中有效,它會繼續工作,如果你碰巧也在使用jQuery。 –
既然你說 「任何字符串」 ,我假設這是你想要處理的字符串。
"00012 34 0000432 0035"
所以,正則表達式是要走的路:
var trimmed = s.replace(/\b0+/g, "");
,這將防止 「000000」 價值的損失。
var trimmed = s.replace(/\b(0(?!\b))+/g, "")
你可以看到一個working example here
+1,優秀答案 –
我在JavaScript用於截斷前導零該解決方案(數字或任意字符串):
<script language="JavaScript" type="text/javascript">
<!--
function trimNumber(s) {
while (s.substr(0,1) == '0' && s.length>1) { s = s.substr(1,9999); }
return s;
}
var s1 = '00123';
var s2 = '000assa';
var s3 = 'assa34300';
var s4 = 'ssa';
var s5 = '121212000';
alert(s1 + '=' + trimNumber(s1));
alert(s2 + '=' + trimNumber(s2));
alert(s3 + '=' + trimNumber(s3));
alert(s4 + '=' + trimNumber(s4));
alert(s5 + '=' + trimNumber(s5));
// end hiding contents -->
</script>
您應該使用的的「基數」參數「parseInt函數」 功能: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FparseInt
parseInt函數( '015',10)=> 15
,如果你不使用它,一些javascript引擎可能會使用它作爲一個八進制 parseInt函數(「015」)=> 0
也許有點晚,但我想補充我的2美分。
如果您的字符串ALWAYS代表一個數字,並且有可能的前導零,則可以使用'+'運算符將字符串簡單地轉換爲數字。
例如
x= "00005";
alert(typeof x); //"string"
alert(x);// "00005"
x = +x ; //or x= +"00005"; //do NOT confuse with x+=x, which will only concatenate the value
alert(typeof x); //number , voila!
alert(x); // 5 (as number)
,如果你的字符串並不代表一個號碼,你只需要去掉0的使用其他的解決方案,但如果你只需要其中的數量,這是最近的路。
,僅供參考,你可以做相反,力數如果您連接一個空字符串給他們,像作爲字符串:
x = 5;
alert(typeof x); //number
x = x+"";
alert(typeof x); //string
希望它可以幫助別人
我會用數( )功能:
var yourString = "00001";
yourString = Number(yourString).toString();
它不會與大於2^53的值一起工作。數字(「009007199254740993」)。toString()將爲「9007199254740992」 – madreason
完美答案!!!嘗試添加一些更多的解釋:) – SagarPPanchal
parseInt(value) or parseFloat(value)
這將很好地工作。
如果個數爲int使用
"" + parseInt(str)
如果數字是浮動使用
"" + parseFloat(str)
彼此的方式,而不正則表達式:
function trimLeadingZerosSubstr(str) {
var xLastChr = str.length - 1, xChrIdx = 0;
while (str[xChrIdx] === "0" && xChrIdx < xLastChr) {
xChrIdx++;
}
return xChrIdx > 0 ? str.substr(xChrIdx) : str;
}
短字符串時,它會來得更快比正則表達式(jsperf)
- 1. 用JavaScript/DoJo去除前導零?
- 2. Ç - 的printf - 除去前導零
- 3. 將浮點數轉換爲字符串而不截斷前導或尾隨零
- 4. 從文本字段中刪除前導零,當它失去焦點
- 5. 如何刪除前導零?
- 6. 零位整數,除前導零之外
- 7. 在C/C++中除去二進制數中的前導零0
- 8. 在java中不去除大十進制中的前導零
- 9. perl:在字母數字字符串中去除前導零
- 10. oracle sql減去截斷
- 11. jqgrid是否切斷前導零?
- 12. 使用number_with_precision刪除前導零
- 13. 導軌中的前導零點
- 14. 截斷前導零和填充等於UNIX中特定字段的空格數
- 15. ORA刪除/截斷
- 16. 如何從浮點值中刪除前導零Swift 3
- 17. jquery數據屬性刪除前導零
- 18. 刪除ggplot2 +標尺中的前導零
- 19. Concatinate在OPEN OFFICE消除前導零
- 20. 刪除連續前導零熊貓
- 21. MySQL 5.1.41前導零被刪除
- 22. 從jclock中刪除前導零
- 23. 從ggplot2圖中刪除前導零
- 24. SSRS從日期中刪除前導零
- 25. mysql從字段中刪除前導零
- 26. 十進制字符串格式截斷零留給小數點
- 27. 如何高效截斷字符串中的填充零點
- 28. 當截斷HBase的表拆分得到去除
- 29. 正則表達式截斷尾隨零
- 30. 如何截斷從雙.000零與NSNumberFormatter
當字符串爲「000000000」時應該發生什麼 – robert
該數字應該始終爲整數,還是應該處理帶小數的數字(例如, ''00000.5'')? – CMS
它應該給任何字符串的工作。即「00000evsdd」應該給「evsdd」,「00000.5」應該給「.5」 –