我需要从变量中选择最后两个字符,无论是数字还是字母。
例如:
var member = "my name is Mate";
我想在成员变量中显示字符串的最后两个字母。
我需要从变量中选择最后两个字符,无论是数字还是字母。
例如:
var member = "my name is Mate";
我想在成员变量中显示字符串的最后两个字母。
当前回答
尝试一下,注意你不需要在子字符串中指定结束索引。
var characters = member.substr(member.length -2);
其他回答
您应该使用substring,而不是jQuery来完成此操作。
试试这样做:
member.substring(member.length - 2, member.length)
W3Schools(不是官方的,但偶尔有用):http://www.w3schools.com/jsref/jsref_substring.asp
根据评论者的要求添加MDN链接:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring
var member = "my name is maanu";
var answer=member.substring(0,member.length - 2);
alert(answer);
Slice可以用来查找子字符串。当我们知道索引时,我们可以使用另一种解决方案,如索引明智加法器。两人执行死刑的时间大致相同。
const primitiveStringMember = "my name is Mate"; const objectStringMember = new String("my name is Mate"); console.log(typeof primitiveStringMember);//string console.log(typeof objectStringMember);//object /* However when we use . operator to string primitive type, JS will wrap up the string with object. That's why we can use the methods String object type for the primitive type string. */ //Slice method const t0 = performance.now(); slicedString = primitiveStringMember.slice(-2);//te const t1 = performance.now(); console.log(`Call to do slice took ${t1 - t0} milliseconds.`); //index vise adder method const t2 = performance.now(); length = primitiveStringMember.length neededString = primitiveStringMember[length-2]+primitiveStringMember[length-1];//te const t3 = performance.now(); console.log(`Call to do index adder took ${t3 - t2} milliseconds.`);
编辑:2020:使用string.slice(-2)其他人说-见下文。
现在2016年只需string.substr(-2)就可以了(不是substring(!))
取自MDN
语法 str.substr(启动[,]) 参数 开始 开始提取字符的位置。如果给出的是负数,它将被视为strLength + start, strLength所在的位置 字符串的长度(例如,如果start是-3,它将被视为 strLength - 3.)长度 可选的。要提取的字符数。
编辑2020
MDN说
警告:虽然String.prototype.substr(…)不是严格的 已弃用(如“从Web标准中删除”),它被考虑 遗留函数,应该尽可能避免使用。它不是一部分 核心JavaScript语言的一部分,将来可能会被移除。
你可以给.slice()传递一个负索引。这将指示从集合的末尾开始的偏移量。
var member = "my name is Mate";
var last2 = member.slice(-2);
alert(last2); // "te"