这样用jquery截取字符串,得到特定字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这样用jquery截取字符串,得到特定字符相关的知识,希望对你有一定的参考价值。
像这样的字符串:
登录失败,您还可以尝试 3 次<script type="text/javascript" reload="1">if(typeof errorhandle_ls=='function') errorhandle_ls('登录失败,您还可以尝试 3 次', 'loginperm':'3');</script>
怎样用正规表达式得到
您还可以尝试 3 次
去掉后面的<script type="text/javascript" reload="1">if(typeof errorhandle_ls=='function') errorhandle_ls('登录失败,您还可以尝试 3 次', 'loginperm':'3');</script>
1.stringObject.substr(start,length)
start:必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
返回值
一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
2.stringObject.substring(start,stop)
start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop:可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。
如果省略该参数,那么返回的子串会一直到字符串的结尾。
返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减start。
说明
substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。 参考技术A 不推荐用正则表达式,建议使用字符串的两个方法:substr或subtring
var from = 'abcdefg';
var to = from.substr(1,3); //表示从1位开始截取后面的3个字符,"bcd"
to = from.substring(1,3); //表示从1位开始截取到3位,"bc"
所以你上面的代码可以这样写
var string = '登录失.....ipt>';
to = string.substr(0, 13);
如果一定要用正则,那么这样写
to = from.match(/bcd/); //返回一个匹配到的数组,['bcd']
所以,
to = string.match(/登录失败,您还可以尝试 \d+ 次/);
if(to!==null)
alert(to[0]);
参考资料:http://www.w3school.com.cn/js/jsref_substr.asp
本回答被提问者采纳jquery 四舍五入截取字符串
这样的数据23.25666666666 转换为23.26
留2个小数四舍五入 怎么实现?
刚才试验过了 看下例子吧
JS 方法:
<script type="text/javascript">
// 得到字符串的真实长度(双字节换算为两个单字节)
function getStrActualLen(sChars)
//sChars.replace(/[^\\x00-\\xff]/g,"xx").length/1024+"字节";
//Math.round(sChars.replace(/[^\\x00-\\xff]/g,"xx").length/1024);这个貌似不好使
return alert(formatNum(sChars.replace(/[^\\x00-\\xff]/g,"xx").length/1024,4));
//格式化小数,并四舍五入。如:formatNum(100.12345678,4)
function formatNum(Num1,Num2)
if(isNaN(Num1)||isNaN(Num2))
return(0);
else
Num1=Num1.toString();
Num2=parseInt(Num2);
if(Num1.indexOf(\'.\')==-1)
return(Num1);
else
var b=Num1.substring(0,Num1.indexOf(\'.\')+Num2+1);
var c=Num1.substring(Num1.indexOf(\'.\')+Num2+1,Num1.indexOf(\'.\')+Num2+2);
if(c=="")
return(b);
else
if(parseInt(c)<5)
return(b);
else
return((Math.round(parseFloat(b)*Math.pow(10,Num2))+Math.round(parseFloat(Math.pow(0.1,Num2).toString().substring(0,Math.pow(0.1,Num2).toString().indexOf(\'.\')+Num2+1))*Math.pow(10,Num2)))/Math.pow(10,Num2));
Jquery方法:
function getStrActualLen()
var count=$("#sChars").val().length/1024;
return Math.round(count*Math.pow(10,4));
参考技术A //srcStr 要处理的数字
//nAfterDot 小数位数
function FormatNumber(srcStr,nAfterDot)
var srcStr,nAfterDot;
var resultStr,nTen;
srcStr = ""+srcStr+"";
strLen = srcStr.length;
dotPos = srcStr.indexOf(".",0);
if (dotPos == -1)
resultStr = srcStr+".";
for (i=0;i<nAfterDot;i++)
resultStr = resultStr+"0";
return resultStr;
else
if ((strLen - dotPos - 1) >= nAfterDot)
nAfter = dotPos + nAfterDot + 1;
nTen =1;
for(j=0;j<nAfterDot;j++)
nTen = nTen*10;
resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
return resultStr;
else
resultStr = srcStr;
for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++)
resultStr = resultStr+"0";
return resultStr;
alert( FormatNumber(23.25666666666, 2) );
以上是关于这样用jquery截取字符串,得到特定字符的主要内容,如果未能解决你的问题,请参考以下文章