Javascript帮助-防止文本框中出现重复字符

Javascript帮助-防止文本框中出现重复字符,javascript,textbox,duplicates,Javascript,Textbox,Duplicates,正在寻找一些帮助来修改一些已经在工作的JavaScript 我正在使用一段JavaScript和一个过滤文本框,过滤文本框只允许{1234567890,-} 下面的JavaScript可以工作并防止用户输入超过1个小数 我还想在允许的字符中添加破折号/减号{-},并防止重复 <script type="text/javascript"> function PreventDuplicateDecimal(evt) { var charCode = (e

正在寻找一些帮助来修改一些已经在工作的JavaScript

我正在使用一段JavaScript和一个过滤文本框,过滤文本框只允许{1234567890,-}

下面的JavaScript可以工作并防止用户输入超过1个小数 我还想在允许的字符中添加破折号/减号{-},并防止重复

    <script type="text/javascript">

    function PreventDuplicateDecimal(evt) {
        var charCode = (evt.which) ? evt.which : event.keyCode;
        var itemdecimal = evt.srcElement.value.split('.');
        if (itemdecimal.length > 1 && charCode == 46)
            return false;
        return true;
    }
</script>

函数(evt){
var charCode=(evt.which)?evt.which:event.keyCode;
var itemdecim=evt.srcement.value.split('.');
如果(itemdecimal.length>1&&charCode==46)
返回false;
返回true;
}
我试着加上

我试着添加
var itemdash=evt.srcmelement.value.split('-')
并将其添加为“或”语句,但没有运气

任何帮助都将不胜感激

提前谢谢
Paul

那么用户应该在这个框中输入有效的十进制数?是的,有效的十进制数,所以{1234567890,-}iI在这种情况下不能使用正则表达式,因为我有其他从.net代码触发的十进制格式,谢谢
if(evt.srcElement.value.indexOf(".") > -1) {
    if (charCode === 46) {
        return false;
    }
}
if(evt.srcElement.value.indexOf("-") > -1) {
    if (charCode === 45) {
        return false;
    }
}
return true;