我有一个正则表达式
function checkNum(form) {
var regex = "/^\d+/";
if (!form.value.match(regex)) {
alert('Please Enter value again');
form.value = "";
}
}
但它不起作用。
我在这个网站http://www.regular-expressions.info/javascriptexample.html中输入了这个正则表达式/ ^ \ d + $ /,但它似乎在这个网站上也没有用。我很确定这个表达是正确的
答案 0 :(得分:3)
正则表达式文字是/^\d+/
,没有引号。
function checkNum(form) {
var regex = /^\d+$/; //Pure digits from start to end
if (!form.value.match(regex)) {
alert('Please Enter value again');
form.value = "";
}
}
如果您将字符串 "/^\d+/"
传递给.match()
,那么由于隐式转换和/\/^d+\//
无效,您将获得相当于"\d"
的正则表达式逸出。
new RegExp("/^\d+/").source
//"/^d+/"
答案 1 :(得分:0)
字符串中有斜杠,这些斜杠被解释为文字。 从字符串中删除它们,或使用它们来创建正则表达式 “^ \ d +” 要么 / ^ \ d + /