Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从javascript中给定的短字符串生成8位字符串?_Javascript_Regex_Replace - Fatal编程技术网

如何从javascript中给定的短字符串生成8位字符串?

如何从javascript中给定的短字符串生成8位字符串?,javascript,regex,replace,Javascript,Regex,Replace,我想从给定的短字符串生成一个8位数的字符串,并附带一个条件。条件是,如果给定的字符串长度小于8位,则为缺少的条目添加9位 比方说, 输入为123,输出为12399999 如果为0123,则为012399999 如果为01203,则为01203999 如果是1230,那么是12309999,依此类推 提前感谢。在TypeScript中,这样您就可以在对数字类型执行字符串操作时看到值类型是如何变化的 const someNumber: number = 123; const asText :

我想从给定的短字符串生成一个8位数的字符串,并附带一个条件。条件是,如果给定的字符串长度小于8位,则为缺少的条目添加9位

比方说, 输入为123,输出为12399999 如果为0123,则为012399999 如果为01203,则为01203999 如果是1230,那么是12309999,依此类推


提前感谢。

在TypeScript中,这样您就可以在对数字类型执行字符串操作时看到值类型是如何变化的

const someNumber: number = 123;
const asText    : string = someNumber.toString();
const padded    : string = asText.padEnd( 8, '9' );
const asNumber  : number = parseInt( padded, 10 ); // ALWAYS specify the radix!
作为一项功能:

function padNinesNumber( value: number ): number {

    const asText    : string = value.toString();
    const padded    : string = asText.padEnd( 8, '9' );
    const asNumber  : number = parseInt( padded, 10 ); // ALWAYS specify the radix!
}

我不确定这是不是你的意思, 试试看,我给了代码,在字符串中字符数为8的每一个差加上“9”:

常量addNine=val=> val.toString+'9'。重复8-val.toString.length; 控制台,logaddNine'2233' 控制台,logaddNine'012303'
console.logaddNine12300123不是一个数字-所以在现实中,您处理的是一个数字字符串,这使得它很简单。。。0123.padEnd8,'9',那么基本上你想用'9'来padEnd吗?@George-现在叫padEnd:p@JaromandaX当您考虑像希伯来语和阿拉伯语这样的RTL语言时,PADEnter是比PADDELT更好的术语。JavaScript中的数值不能具有前导零。带前导零的整数文字实际上是一个八进制数,这不是您想要的。这个答案的问题是0123和01203不会产生预期的结果-OP处理的是数字字符串,而不是数字