相关疑难解决方法(0)

在JavaScript中从字符串中删除所有非数字字符

考虑一个非DOM场景,您希望使用JavaScript/ECMAScript从字符串中删除所有非数字字符.应保留0到9范围内的任何字符.

var myString = 'abc123.8<blah>';

//desired output is 1238
Run Code Online (Sandbox Code Playgroud)

你会如何在纯JavaScript中实现这一目标?请记住这是一个非DOM场景,因此jQuery和其他涉及浏览器和按键事件的解决方案都不合适.

javascript string

639
推荐指数
7
解决办法
43万
查看次数

检查字符串是否仅包含数字

我想检查一个string只包含数字.我用过这个:

var isANumber = isNaN(theValue) === false;

if (isANumber){
    ..
}
Run Code Online (Sandbox Code Playgroud)

但意识到它也允许+-.基本上,我想确保一个input只包含数字而不包含其他字符.由于+100-5都是数字,isNaN()不是正确的方法.也许我需要一个正则表达式?有小费吗?

javascript numbers digits

275
推荐指数
9
解决办法
31万
查看次数

浮点数的正则表达式

我有一个匹配浮点数的任务.我为它写了以下正则表达式:

[-+]?[0-9]*\.?[0-9]*
Run Code Online (Sandbox Code Playgroud)

但它显示错误说:

Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )
Run Code Online (Sandbox Code Playgroud)

但据我所知,我们还需要使用转义字符..请纠正我错在哪里.

regex

87
推荐指数
6
解决办法
15万
查看次数

具有正则表达式的Ui-router路由参数

我觉得这很简单,但我不能让它工作......

我正在使用Ui-Router 2.11,它包含带有正则表达式的可选参数 .

我有这个网址,其工作原理

'/event/{eventId:[0-9]}'

它过滤掉所有非数字的东西,但它只适用于1个字符的输入(所以只有0到9).

我想用一个表达式替换它,检查以确保输入中的所有字符都是数字的,所以只要它是所有数字我就可以有任何输入.

我尝试使用此线程中的表达式

'/event/{eventId:^[0-9]+$}'

但它不起作用.其他示例包括我不能使用的正斜杠(通过ui-router文档中的警告).这感觉应该非常简单,我做错了什么?

javascript regex angularjs angular-ui-router

2
推荐指数
1
解决办法
3902
查看次数