<input id=code value="" >
一文本框,当用户没有输入时,提示不能为空;当用户输入的值不足四位,则以“0”补充,如用户输入的是2,则文本框的值自动为0002,当后四位输入的值不全是数字时,提示用户必须输入数字

解决方案 »

  1.   

    参考.
    <input type='text' name='num' id='num'/>
    <input type=button id='btn' onclick='cn()' value="click me"/>
    <script>
    var $ = function($){return document.getElementById($);}
       ,cn= function(){
    var obj = $('num');
    if(obj.value == ""){
    alert('Do not allow empty value!');
    }
    else if(obj.value.match(/[^\d]/)){
    alert('Just allow numbers!');
    }
    else{
    var zeros="",l=obj.value.toString().length; for(var i=4;i>l;i--){
    zeros += "0";
    }
    obj.value = zeros+obj.value;
    }
       }
    </script>
      

  2.   


    //借用一楼的写法;稍作修改。
    var $ = function($){return document.getElementById($);}
       ,cn= function(){
            var obj = $('num');
    var str=obj.value;
    var regex=/^\d{1,4}$/;
    if(!regex.test(str)){alert('Just allow numbers!');obj.value='';return;}
    obj.value=('0000'+str).slice(-4);
       }
      

  3.   

    function checkNum(){
    var num = document.getElementById("user_num").value;
    if(null == num || "" == num){
    alert("不能为空");
    return;
    }
    if(isNaN(num)){
    alert("不是数字")
    return;
    }else{
    if(num.length < 4){
    var strNull = "";
    for(var i = 4;i > num.length;i--){
    strNull += "0"
    }
    document.getElementById("user_num").value = strNull+num;
    }
    return;
    }
    }
      

  4.   

    function checkNum(){
    var num = document.getElementById("user_num").value;
    if(null == num || "" == num){
    alert("不能为空");
    return;
    }
    if(isNaN(num)){
    alert("不是数字")
    return;
    }else{
    if(num.length < 4){
    var strNull = "";
    for(var i = 4;i > num.length;i--){
    strNull += "0"
    }
    document.getElementById("user_num").value = strNull+num;
    }
    return;
    }
    }
      

  5.   

    <input id=code value="" /><input type="submit" value="Test" onclick="checkNum()" />
    <br />
    <div id=msg style="color: red"></div><script language="javascript">
    var code = document.getElementById('code');
    var msg = document.getElementById('msg');function showMsg(s)
    {
    msg.innerText = s;
    setTimeout("msg.innerText=''", 1000 * 3);
    code.focus();
    }function checkNum()
    {
    var s = code.value;
    var LEN = 4;
    if(s == '')
    showMsg('不能为空!')
    else
    {
    if(s.length < LEN)
    {
    s = '000' + s;
    s = s.substr(s.length - LEN, LEN);
    code.value = s;
    }
    if(/[\D]/.test(s.substr(s.length - LEN, LEN)))
    showMsg('后 ' + LEN.toString(10) +' 位不全是数字!')
    else
    showMsg('输入正确!');
    }
    }
    </script>
      

  6.   

    谢谢大家,还有点小问题:
    如用户输入:PC1时,显示的是0PC1如何显示为PC0001
      

  7.   


    <script type="text/javascript">
    function checkNum(){
    var strNum = document.getElementById("user_name").value;
    var str = strNum.substring(0,2);
    var num = strNum.substring(2);
    if(null == num || "" == num){
    alert("不能为空");
    return;
    }
    if(isNaN(num)){
    alert("不是数字")
    return;
    }else{
    if(num.length < 4){
    var strNull = "";
    for(var i = 4;i > num.length;i--){
    strNull += "0"
    }
    document.getElementById("user_name").value = str+strNull+num;
    }
    return;
    }
    }
    </script>