如何验证此字符串在Javascript中不包含任何特殊字符?

如何验证此字符串在Javascript中不包含任何特殊字符?,javascript,validation,Javascript,Validation,我有一个动态字符串,如下所示: "69.43.202.97" OR "ngs.pradhi.com" 我想验证这些字符串只包含数字、英文字母和“”。我想用java脚本在前端验证这一点。我曾想过这样使用正则表达式: function validatePath() { var path = document.getElementById('server_path').value; path.match([a-z][0-9]

我有一个动态字符串,如下所示:

"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
}
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.]*$")) {}

    }
^[a-zA-Z0-9\.]+:[0-9]+$
如果尽管显示了警报框,但路径无效,我只想在用户填写服务器路径后立即在文本字段下方显示错误。我该怎么做

我的完整javascript函数如下所示:

function validatePath() {
    var path = document.getElementById('server_path').value;
    path.match([a-z][0-9])  //or something like this
}
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.]*$")) {}

    }
^[a-zA-Z0-9\.]+:[0-9]+$
}

尝试路径匹配(“^[a-zA-Z0-9.]*$”

编辑:
var regex=new RegExp(“^[a-zA-Z0-9.]*$”;

如果(regex.test(host_name)){}
不同,则替换方法:

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

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

您可以使用如下正则表达式执行检查(包括端口存在):

function validatePath() {
    var path = document.getElementById('server_path').value;
    path.match([a-z][0-9])  //or something like this
}
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.]*$")) {}

    }
^[a-zA-Z0-9\.]+:[0-9]+$
(注意用
+
而不是
*
来说明空路径或端口(不允许)

如果使用HTML5,请考虑新引入的“模式”和“必需”属性,这可以为您节省一些JS代码。

有关这两种工艺的说明,请参见此

您可能会发现一些有用的链接:


/[a-zA-Z0-9]/
是此处的正确符号。是否要匹配
主机名
?或者您希望
路径
匹配吗?我希望主机名匹配。@user2032220:只是好奇,我对“取消接受”的回答有什么问题???没有错,但是@dshu610在您之前给出了答案。我将+1你的答案。谢谢我的最新问题。我应该如何在上面的函数中包含它。请注意,下划线(u)算作一个单词字符,所以不是OP想要的。在这种情况下,最好使用
/[^a-z\d\.]/i
。更新后的答案将有所不同