2013-05-30 64 views
0

我有一个动态的字符串,这样它可能看起来像:“”如何验证此字符串不包含Javascript中的任何特殊字符?

"69.43.202.97"     OR    "ngs.pradhi.com" 

我要验证这些字符串只包含数字,英文字母和。我想在前端使用java脚本来验证它。我想用这样的正则表达式:

function validatePath() { 
    var path = document.getElementById('server_path').value; 
    path.match([a-z][0-9]) //or something like this 
} 

如果路径无效,显示警告框尽管我只是想尽快显示下面的文本字段中显示错误在用户填写服务器的路径。我怎样才能做到这一点?

我的全javascript函数如下:

function validatePath() { 
    var path = document.getElementById('server_path').value; 
    if (path.search(":") == -1){ 
     alert("Invalid server path"); 
    } 
    else{ 
     var host_name = path.split(":")[0] 
     if host_name.match("^[a-zA-Z0-9.]*$")) {} 

    } 

}

+0

'/ [A-ZA-Z0-9] /'这里是适当的表示法。 – tadman

+0

别忘了“。” – dshu610

+0

你想'host_name'匹配吗?或者你想让'path'与':'匹配吗? – Isaac

回答

4

尝试path.match("^[a-zA-Z0-9.]*$")

编辑: var regex = new RegExp("^[a-zA-Z0-9.]*$"); if(regex.test(host_name)){}

+0

看到我更新的问题。我如何将这个包含在我的上面的函数中。 – pynovice

1

有所不同,更换方法:

if(path.replace(/^[a-z\d.]*$/i,"")=="") 
+0

请注意,下划线(_)作为单词字符计数,因此不是OP所需的。在这种情况下,最好使用'/ [^ a-z \ d \。]/i'。 – RobG

+0

更新的答案,有所不同 – Isaac

+1

+1不止一种方式来给猫皮。 :-) – RobG

2

可以使用/^[a-zA-Z0-9.]*$/.test(path)这将返回true或false

+0

使用* test *代替* match *的+1。 – RobG