2017-07-25 34 views
0

我正在使用MVC Web應用程序中的jquery.maskedinput.min.js,並且我很難刪除電話號碼掩碼。如何爲數據庫插入取消掩碼jquery.maskedinput電話號碼

JS: -

@section Scripts { 
@Scripts.Render("~/bundles/jqueryval") 
<script type="text/javascript" src="/Scripts/jquery-1.8.3.min.js" charset="utf-8"></script> 
<script type="text/javascript" src="/Scripts/jquery.maskedinput.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $("#phone").mask("(999) 999-9999"); 
    }); 
    $(function unMaskFunc() { //This doesn't work... 
     $("#phone").unmask(); 
    }); 
</script> 
} 

接下來,我有我的電話號碼字段在我的表格:

<div class="form-group"> 
     @Html.LabelFor(model => model.PhoneNo, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.PhoneNo, new { htmlAttributes = new { @class = "form-control", @id = "phone" } }) 
      @Html.ValidationMessageFor(model => model.PhoneNo, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

最後的提交按鈕,應該調用上點擊取消屏蔽功能,但不工作:

<div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <input type="submit" value="Create" class="btn btn-default" onclick="unMaskFunc()" /> 
     </div> 
    </div> 

它插入帶有掩碼的SQL數據庫,我只想要的數字。無論我在哪裏放置js,它都會在文本框中呈現蒙版並插入蒙版,否則蒙版將無法通過驗證進行渲染。我真的想使用min.js文件中的unmask函數!

任何幫助將是可怕的..我還是新的,所以我覺得我失去了明顯的東西。謝謝!

+0

你很好,在服務器端被刪除的面具? –

+0

如果你的項目是mvc,爲什麼你不使用像'RegularExpression'這樣的數據註釋? – Hadee

+0

@Hadee我已經嘗試過,但只有在您點擊提交後纔會生效。我需要一些防止錯誤號碼的東西。 – Alex

回答

1

如果您想要在沒有掩碼的情況下將掩碼輸出轉換爲數據庫中的varchar,則可以在服務器端執行此操作。

if (model.PhoneNo != null) 
    model.PhoneNo = new string(model.PhoneNo.Where(char.IsDigit).ToArray()); 

這將給你一個字符串只有可以插入到數據庫中的數字。